telegram
Skill1 starsChanged 7 days agoMITView on GitHub
Read and search Telegram messages, send replies, and moderate chats. Use when managing Telegram conversations or inspecting the local message mirror.
- Pipes a download into a shell
26 other projects use a version of this.
Adopted by
Most recently taken up by
- sidmanale643/pekka-bottheir own version, first seen Nov 8, 2026
- zalogarcia/zalo-claude-code-setuptheir own version, first seen Nov 8, 2026
- timurgaleev/vibestacktheir own version, first seen Nov 8, 2026
- thenavidm/telegram-mcp-clitheir own version, first seen Nov 1, 2026
- fxmartin/claude-code-configtheir own version, first seen Oct 31, 2026
- TimurUgulava/telegramtheir own version, first seen Oct 25, 2026
Used with
Projects with it also use agency-docs-updater, brand-agency and 10 more.
Other files people use alongside this one.
Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
KISHOR403Skillagency-docs-updater
End-to-end pipeline for publishing Claude Code lab meetings. Automatically finds/creates Fathom transcript, downloads video, uploads to YouTube, generates fact-checked Russian summary, creates MDX documentation, and pushes to agency-docs for Vercel deployment. Single invocation replaces 5+ manual steps.
Also in 3 projects that use this
KISHOR403Skillbrand-agency
Applies Agency brand colors and typography to artifacts including presentations, SVG graphics, documents, and web interfaces. This skill should be used when brand colors, visual formatting, neobrutalism style, or Agency design standards apply. Keywords - branding, corporate identity, visual identity, styling, brand colors, typography, visual formatting, visual design, neobrutalism.
Also in 3 projects that use this
- +10 more from KISHOR403
Other versions26 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 26
- razzant/ouroboros★ 1.6ksame name
- sanjay3290/ai-skills★ 452same name
- glebis/claude-skills★ 410same name
- joelhooks/joelclaw★ 65same name
- tdimino/claude-code-minoan★ 41same name
- different-ai/openwork-hub★ 35same name
- AceDataCloud/Skills★ 17same name
- arfar-x/agent-skills★ 14same name
- awrshift/skill-telegram★ 8same name
- timurgaleev/vibestack★ 8same name
16 more not listed
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
The file
Show its rules and text
We split this skill into the rules it gives an agent
13 rules. 0 are common, 9 are distinctive, and 4 are very specific to this project.
0
Common
Most of the 23 edited versions we read keep these.
9
Distinctive
This author's own choices. Worth a look.
4
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 24
Run tools as ghostpaw-telegram ....
- Very specific: line 40
Read and query the Telegram database: messages, chats, users, reactions, and more.
- Distinctive: line 42
Use when: Use when you need to inspect stored messages, find chats or users, search text, or retrieve reaction and edit history.
- Distinctive: line 44
Not for: Do not use for sending, editing, or deleting messages.
- Distinctive: line 71
Use when: Plans only by default.
- Distinctive: line 73
Not for: Do not use for reading or querying stored data.
- Distinctive: line 99
Use when: Plans only by default.
- Distinctive: line 101
Not for: Do not use for sending messages or reading message history.
- Distinctive: line 128
Use when: Use to retrieve bot statistics, stored state values, or a list of active chats.
- Distinctive: line 130
Not for: Do not use for sending messages or moderating users.
- Distinctive: line 158
Search the mirror before replying.
- Very specific: line 160
Keep Telegram tokens private.
- Very specific: line 164
Use npx -y @ghostpaw/telegram ...
“Common” is measured: kept by at least 6 in 10 of the 23 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
telegram
Install
Linux/macOS (checks SHA256SUMS and installs to ~/.local/bin/ghostpaw-telegram):
curl -fsSL https://raw.githubusercontent.com/GhostPawJS/telegram/main/install.sh | shWindows x64:
irm https://raw.githubusercontent.com/GhostPawJS/telegram/main/install.ps1 | iexRun tools as ghostpaw-telegram ...; use ~/.local/bin/ghostpaw-telegram if it is not on PATH.
Read and search the local Telegram message mirror before replying. Use send and moderation tools only for intended chat actions. TELEGRAM_BOT_TOKEN enables execution through the Telegram Bot API; without it these tools return plans. Never disclose tokens. The mirror is populated by the consuming application transport.
Print the compact cheat sheet with ghostpaw-telegram skill --short; list guides with ghostpaw-telegram skill --list.
Calling tools
MCP: connect to ghostpaw-telegram, then call a tool by name with its JSON arguments.
CLI: ghostpaw-telegram call <tool> '<JSON object>' or ghostpaw-telegram <tool> --parameter value.
Inspect schemas with ghostpaw-telegram describe <tool>. Use --db <path> to select a database.
tg_read
Read and query the Telegram database: messages, chats, users, reactions, and more.
Use when: Use when you need to inspect stored messages, find chats or users, search text, or retrieve reaction and edit history.
Not for: Do not use for sending, editing, or deleting messages.
Read-only.
| Parameter | Type | Required | Values / description |
| subcommand | string | yes | get_message, list_messages, search_messages, get_chat, list_chats, get_user, list_users, get_reactions, reply_chain, edit_history. Which read operation to perform |
| chatId | integer | no | Chat ID |
| messageId | integer | no | Message ID |
| userId | integer | no | User ID |
| query | string | no | Full-text search query |
| limit | integer | no | Max results |
| before | integer | no | Before this timestamp (ms) |
| after | integer | no | After this timestamp (ms) |
| threadId | integer | no | Thread ID filter |
ghostpaw-telegram call tg_read '{"subcommand":"get_message","chatId":123,"messageId":123}'
ghostpaw-telegram call tg_read '{"subcommand":"list_messages","chatId":123}'
ghostpaw-telegram call tg_read '{"subcommand":"search_messages","chatId":123,"query":"example"}'
tg_send
Outbound actions: send, edit, delete, pin/unpin messages, send typing indicator, and forward messages.
Use when: Plans only by default. Use createTelegramToolFacade with execute: true and a client to perform actions with configurable limits. Use when you need to send or modify messages, show a typing indicator, or forward a message to another chat.
Not for: Do not use for reading or querying stored data.
Writes: writes_state.
| Parameter | Type | Required | Values / description |
| subcommand | string | yes | send_message, edit_message, delete_message, pin_message, unpin_message, send_typing, forward_message. The send subcommand. |
| chatId | integer | no | Chat ID |
| messageId | integer | no | Message ID |
| text | string | no | Message text |
| parseMode | string | no | Parse mode (HTML, MarkdownV2) |
| replyToMessageId | integer | no | Reply-to message ID |
| toChatId | integer | no | Destination chat ID |
| fromChatId | integer | no | Source chat ID |
ghostpaw-telegram call tg_send '{"subcommand":"send_message","chatId":123,"text":"example"}'
ghostpaw-telegram call tg_send '{"subcommand":"edit_message","chatId":123,"messageId":123,"text":"example"}'
ghostpaw-telegram call tg_send '{"subcommand":"delete_message","chatId":123,"messageId":123}'
tg_manage
Moderation and chat administration: ban, unban, restrict, promote, kick users, and query member info.
Use when: Plans only by default. Use createTelegramToolFacade with execute: true and a client to perform actions with configurable limits. Use when you need to moderate users, manage chat permissions, or look up member status.
Not for: Do not use for sending messages or reading message history.
Writes: writes_state.
| Parameter | Type | Required | Values / description |
| subcommand | string | yes | ban_user, unban_user, restrict_user, promote_user, kick_user, get_member, list_members. The moderation subcommand. |
| chatId | integer | no | The chat ID. |
| userId | integer | no | The user ID. |
| untilDate | integer | no | Unix timestamp until the action applies. |
| deleteMessages | boolean | no | Delete messages on ban. |
| canSendMessages | boolean | no | Whether the user can send messages. |
| isAdmin | boolean | no | Grant or revoke admin. |
| status | string | no | creator, administrator, member, restricted, left, kicked. Filter by member status. |
| limit | integer | no | Max members to return. |
ghostpaw-telegram call tg_manage '{"subcommand":"ban_user","chatId":123,"userId":123}'
ghostpaw-telegram call tg_manage '{"subcommand":"unban_user","chatId":123,"userId":123}'
ghostpaw-telegram call tg_manage '{"subcommand":"restrict_user","chatId":123,"userId":123,"canSendMessages":true}'
tg_connect
Query bot connection status, configuration, and chat list.
Use when: Use to retrieve bot statistics, stored state values, or a list of active chats.
Not for: Do not use for sending messages or moderating users.
Read-only.
| Parameter | Type | Required | Values / description |
| subcommand | string | yes | get_stats, get_state, list_chats. The connect subcommand. |
| key | string | no | The state key to look up. |
| limit | integer | no | Max chats to return. |
ghostpaw-telegram call tg_connect '{"subcommand":"get_stats"}'
ghostpaw-telegram call tg_connect '{"subcommand":"get_state"}'
ghostpaw-telegram call tg_connect '{"subcommand":"list_chats"}'
Workflow guides
ghostpaw-telegram skill manage-telegram-conversations— manage-telegram-conversations: Retrieve, search, and navigate conversation history across chats and threads.ghostpaw-telegram skill handle-group-administration— handle-group-administration: Inspect and update chat membership, admin rights, and chat metadata.ghostpaw-telegram skill stream-progressive-responses— stream-progressive-responses: Send long responses progressively by editing a message in place as content is generated.ghostpaw-telegram skill moderate-chat-effectively— moderate-chat-effectively: Detect and respond to rule violations, spam, and unwanted content in group chats.ghostpaw-telegram skill search-and-retrieve-messages— search-and-retrieve-messages: Find specific messages using full-text search, filters, and reply-chain traversal.ghostpaw-telegram skill broadcast-to-audience— broadcast-to-audience: Send a message to many chats or users with rate limiting and error tracking.
Principles
- Search the mirror before replying.
- Confirm the target chat and intended moderation action.
- Keep Telegram tokens private.
Without the binary
Use npx -y @ghostpaw/telegram ... in npm-based environments (Node 24+). Harnesses embedding it in code can import @ghostpaw/telegram as a library.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

