Skip to content

Comments

Feature/telegram channel #36

Open
Emeenent14 wants to merge 23 commits intowarengonzaga:mainfrom
Emeenent14:feature/telegram-channel-pr1
Open

Feature/telegram channel #36
Emeenent14 wants to merge 23 commits intowarengonzaga:mainfrom
Emeenent14:feature/telegram-channel-pr1

Conversation

@Emeenent14
Copy link

No description provided.

warengonzaga and others added 23 commits February 23, 2026 14:12
…eset (warengonzaga#22)

* Initial plan

* 🔧 update (release): use GH_PAT token in checkout to bypass branch ruleset

Co-authored-by: warengonzaga <15052701+warengonzaga@users.noreply.github.com>

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: warengonzaga <15052701+warengonzaga@users.noreply.github.com>
* ☕ chore: initial plan for lint fixes

* ☕ chore: fix all 14 bun lint errors using Biome

* 🔧 update: address code review comments on dead code and invariant handling

* 🔧 update: fix regex pattern in correction patterns for better matching

* ⚙️ setup: add CI tolerance for bot commits and update AGENTS.md

* 🔧 update: reorder correction patterns for consistency

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: Waren Gonzaga <opensource@warengonzaga.com>
- use QueryTier type instead of any for tier casts in background.ts and tools.ts
- use err instanceof Error guard instead of err: any in runner.ts
- use Parameters<TemplateManager['update']>[1] for template updates
- replace non-null assertions with optional chaining in templates.test.ts

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
- type PulseJob extension instead of any for __touchActivity property
- import and use OutboundSource type in categoryToSource return type
- map companion category to agent source value
- replace any with unknown in intercom handler signatures

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
…is access

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
- use nullish coalescing instead of non-null assertion for toolName
- reformat keywords chain for readability
- add biome-ignore comments for intentional any usage in tests

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
- use nullish coalescing for non-null assertions in setup.ts, supervisor.ts, banner.ts
- use typed record cast for dynamic property access in start.ts shutdown handlers
- replace any with unknown in test mock signatures

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
- add typed server parameter for getClientIP instead of any
- use explicit fallback instead of non-null assertion for claimToken
- add null check before returning recovery attempt record in security-db
- replace any with unknown in test mock signatures

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@CLAassistant
Copy link

CLAassistant commented Feb 24, 2026

CLA assistant check
All committers have signed the CLA.

@Emeenent14
Copy link
Author

Implements Issue #13 — (minimal Telegram foundation)

Included

New plugin package

Added: plugins/channel/plugin-channel-telegram/

  • package.json
  • tsconfig.json
  • index.ts
  • index.test.ts
  • README.md
  • CHANGELOG.md

Pairing tools

Implemented in pairing.ts:

  • telegram_pair
  • telegram_unpair

Added tests:

  • pairing.test.ts

Owner authorization update

Updated OWNER_ONLY_TOOLS in index.ts:

  • added telegram_pair
  • added telegram_unpair

Behavior

  • Stores token at: channel.telegram.token
  • Sets:
    • channels.telegram.enabled = true
    • channels.telegram.tokenRef = channel.telegram.token
  • Adds/removes @tinyclaw/plugin-channel-telegram in plugins.enabled (deduped)
  • Keeps token on unpair (same pattern as Discord)
  • Returns restart instruction: tinyclaw_restart

Out of scope (next PR)

  • Telegram runtime transport (getMe / getUpdates / sendMessage)
  • Inbound polling loop + outbound sendToUser

Validation

Could not run Bun tests in this shell (bun not installed on PATH).

Planned checks:

bun install
bun run build
bun test plugins/channel/plugin-channel-telegram
bun test

Related: #13

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants