← Back to PRs

#12950: feat: add Telegram pin/unpin message support

by alex-muradov open 2026-02-09 23:59 View on GitHub →
docs channel: telegram agents stale
## Summary Adds native pin/unpin message support for Telegram, consistent with existing Discord and Slack functionality. ## Changes - **`src/telegram/send.ts`** — `pinMessageTelegram()` and `unpinMessageTelegram()` using Bot API - **`src/agents/tools/telegram-actions.ts`** — action handlers for pin/unpin - **`src/channels/plugins/actions/telegram.ts`** — plugin integration - **`docs/cli/message.md`** — documentation ## Details - Uses `pinChatMessage` / `unpinChatMessage` Bot API methods - Supports `disableNotification` parameter - Proper error handling and config respect (`channels.telegram.actions.pins`) - Follows existing Discord/Slack patterns <!-- greptile_comment --> <h2>Greptile Overview</h2> <h3>Greptile Summary</h3> Adds Telegram message pin/unpin actions by wiring new `pinMessageTelegram`/`unpinMessageTelegram` helpers into the Telegram agent action handler and the channel message actions adapter, and updates the CLI docs to mention Telegram support and a `--disable-notification` flag. Integration is consistent with existing Discord/Slack action surfaces (new action names are added to `listActions` and routed through `handleTelegramAction`). <h3>Confidence Score: 2/5</h3> - This PR is not safe to merge until the advertised-but-unimplemented action and Telegram API call shape issues are fixed. - Score is reduced due to (1) `list-pins` being surfaced even though it always errors, (2) likely incorrect `pinChatMessage` parameter construction, and (3) pin/unpin not using the same retry/diagnostic behavior as other Telegram operations; these are user-facing runtime failures/inconsistencies. - src/telegram/send.ts, src/channels/plugins/actions/telegram.ts, package-lock.json <!-- greptile_other_comments_section --> <sub>(2/5) Greptile learns from your feedback when you react with thumbs up/down!</sub> <details><summary><h4>Context used (3)</h4></summary> - Context from `dashboard` - docs/cli/agents.md ([source](https://app.greptile.com/review/custom-context?memory=057a11aa-5c5f-48bb-8d53-91b27b0fe3a2)) - Context from `dashboard` - CLAUDE.md ([source](https://app.greptile.com/review/custom-context?memory=fd949e91-5c3a-4ab5-90a1-cbe184fd6ce8)) - Context from `dashboard` - AGENTS.md ([source](https://app.greptile.com/review/custom-context?memory=0d0c8278-ef8e-4d6c-ab21-f5527e322f13)) </details> <!-- /greptile_comment -->

Most Similar PRs