telegram

telegram is a skill for Claude Code, Codex from intentic/intentic. It costs 57 tokens per session (1,375 once invoked), scanned B, original, MIT.

A Telegram bot connection using Telegram's Bot API, the web interface that lets software exchange messages with Telegram. It can read and send messages in chats where the bot has access.

In plain words
What is it for?
Connecting a bot, reading chats, sending replies or new messages, and downloading files sent through Telegram.
Why use it?
It avoids building a separate messaging integration from scratch. Setup is needed before the bot can work in private chats or groups.

Skill for Claude CodeCodex

Written for no agent in particular: nothing here depends on one.

Good fit Connecting a bot, reading chats, sending replies or new messages, and downloading files sent through Telegram.

Compare 6 skills from other repositories ↓
Install with agentmods
npx agentmods add skills/intentic/intentic/telegram
Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

Any agent
npx skills add intentic/intentic --skill telegram
Clone the repo
git clone --depth 1 https://github.com/intentic/intentic

Made for: Claude Code, Codex.

Wrote this? Show the measurements

A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.

agentmods badge for telegram

README.md
[![agentmods](https://agentmods.dev/badge/skills/intentic/intentic/telegram.svg)](https://agentmods.dev/skills/intentic/intentic/telegram)
Your own site
<a href="https://agentmods.dev/skills/intentic/intentic/telegram"><img src="https://agentmods.dev/badge/skills/intentic/intentic/telegram.svg" alt="Measured on agentmods" height="20"></a>
Per session 57 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 1,375 The whole file, excluding the scripts and references it only reads on demand.
Security scan B 2 findings. A grade says what 26 rules found in the file — not that it is safe.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5.1 $0.00057 $0.01375
Opus 5 $0.00028 $0.00687
Sonnet 5 $0.00011 $0.00275
Haiku 4.5 $0.00006 $0.00137

Measured today against content hash d057cfbffd67, method: parsed. Prices are Anthropic first-party input rates as of 2026-09-07, from the pricing page.

Security

Grade B, and why

telegram scanned grade B with 2 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured today.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Sends data to an external URLmediumData exfiltration

A POST to an outside endpoint may be telemetry or may be exfiltration; either way the mod talks to somewhere, and you should know where.

`curl -s -X POST -H "Content-Type: application/json" -d '{"chat_id":<CHAT_ID>,"text":"hello"}' "https://api.telegram.org/bot$TELEGRAM_BOT_TOKEN/sendMessage"`

Makes network callslowCapability

Not a fault in itself. Listed so you know the mod talks to something, and to what.

Authenticated with a bot token in `$TELEGRAM_BOT_TOKEN`. Talk to the Bot API with `curl`.
_extensions/telegram/skills/telegram/SKILL.md · 79 lines

How it starts

The opening of the file, as written. The whole thing — 79 lines — stays where its author put it; the contents beside it link to each section on GitHub.

Telegram (connected)

Authenticated with a bot token in $TELEGRAM_BOT_TOKEN. Talk to the Bot API with curl. Base URL: https://api.telegram.org/bot$TELEGRAM_BOT_TOKEN, the token is IN the path, so never paste a constructed URL anywhere it could be read; always build it from the variable.

Every method accepts POST with a JSON body and answers {"ok":true,"result":…} or {"ok":false,"error_code":…,"description":"…"}. Check .ok: a 400 with a plain-English description is how Telegram reports almost everything.

Setup (do this when no bot exists yet)

There is no app review and no public URL. In Telegram, message @BotFather:

  1. /newbot → a display name, then a username ending in bot (e.g. acme_intentic_bot).
  2. Copy the HTTP API token it prints and paste it onto the Telegram capability.
  3. For a group: add the bot to the group. By default a bot in a group sees only messages that @mention it or reply to it: that is Telegram's privacy mode. To let it read everything, /setprivacy → pick the bot → Disable, then remove and re-add it to the group.
  4. Nothing else. A private chat works from the first message the user sends.

Confirm it landed: curl -s "https://api.telegram.org/bot$TELEGRAM_BOT_TOKEN/getMe" | jq '.result | {id, username}'

Common commands

  • Send a message (<CHAT_ID> is a number, negative for groups; a public channel can be "@channelname"): curl -s -X POST -H "Content-Type: application/json" -d '{"chat_id":<CHAT_ID>,"text":"hello"}' "https://api.telegram.org/bot$TELEGRAM_BOT_TOKEN/sendMessage"
  • Reply to a specific message: curl -s -X POST -H "Content-Type: application/json" -d '{"chat_id":<CHAT_ID>,"text":"on it","reply_parameters":{"message_id":<MESSAGE_ID>}}' "https://api.telegram.org/bot$TELEGRAM_BOT_TOKEN/sendMessage"
  • Post into a forum topic of a supergroup (the topic id rides in on the event as extra.messageThreadId): add "message_thread_id":<THREAD_ID> to the body above.
  • React to a message with an emoji: curl -s -X POST -H "Content-Type: application/json" -d '{"chat_id":<CHAT_ID>,"message_id":<MESSAGE_ID>,"reaction":[{"type":"emoji","emoji":"👀"}]}' "https://api.telegram.org/bot$TELEGRAM_BOT_TOKEN/setMessageReaction"
  • Edit something you sent: curl -s -X POST -H "Content-Type: application/json" -d '{"chat_id":<CHAT_ID>,"message_id":<MESSAGE_ID>,"text":"corrected"}' "https://api.telegram.org/bot$TELEGRAM_BOT_TOKEN/editMessageText"
  • Send a file from the workspace: curl -s -F chat_id=<CHAT_ID> -F document=@/work/report.pdf "https://api.telegram.org/bot$TELEGRAM_BOT_TOKEN/sendDocument"
  • Download a file someone sent (fileId comes in on the event as extra.attachments[].fileId): two steps, because getFile hands back a path you then fetch:
    path=$(curl -s "https://api.telegram.org/bot$TELEGRAM_BOT_TOKEN/getFile?file_id=<FILE_ID>" | jq -r .result.file_path)
    curl -s -o /work/incoming "https://api.telegram.org/file/bot$TELEGRAM_BOT_TOKEN/$path"
    
  • Look up a chat you have the id of: curl -s "https://api.telegram.org/bot$TELEGRAM_BOT_TOKEN/getChat?chat_id=<CHAT_ID>" | jq '.result | {id, type, title, username}'

Read the full file on GitHub · 79 lines

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. today First seen · 79 lines · 57 tokens per session scan B d057cfbffd67

Subscribe to this mod's changes

telegram is a skill published in the GitHub repository intentic/intentic (32 stars, last pushed today), licensed MIT. It adds 57 tokens to every session and 1,375 once invoked, about $0.0003 per session on Opus 5. A static security scan graded it B with 2 findings (sends data to an external url, makes network calls). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-09-06.

Related

Other skills, from other repositories

telegram

Owner-only Telegram text bridge and Mini App gateway for the existing Ouroboros interface.

razzant/ouroboros · 19 tokens

claudexor

Use the local Claudexor control plane for harness-agnostic coding work across Claude Code, Codex, Cursor, and OpenCode. Use when a task benefits from route-aware harness and account selection, quota-aware account rotation, shared thread context, read-only planning or research, best-of-N execution, or cross-harness…

razzant/claudexor · 73 tokens

openai-docs

Use when the user asks how to build with OpenAI products or APIs, asks about Codex itself or choosing Codex surfaces, needs up-to-date official documentation with citations, help choosing the latest model for a use case, latest/current/default-model prompting guidance, or model upgrade and prompt-upgrade guidance; use…

rojim666/SztuCode · 105 tokens

cursor-delegate

Delegate bounded light-to-medium implementation, investigation, documentation, configuration, testing, and tooling work to Cursor Bridge after the primary agent owns direction and risk boundaries. Also use when the user explicitly asks to create, keep, continue, inspect, or close the same Cursor execution session…

Vanyangyang/cursor-bridge · 151 tokens

discovery-process

Run a full discovery cycle from problem hypothesis to validated solution. Use when a team needs a structured path through framing, interviews, synthesis, and experiments.

getcrew44/crew44 · 34 tokens

company-research

Create a company research brief with executive quotes, product strategy, and org context. Use when preparing for interviews, competitive analysis, partnerships, or market-entry work.

getcrew44/crew44 · 36 tokens