sickn33/agentic-awesome-skills/telegram-bot-messaging

Claude Code and agent skill by sickn33/agentic-awesome-skills

Trust tier 3
  • community
  • ext:[{"type":"config","description":"Configuration overrides"}]
Source check pending

Checking that the SKILL.md file is still in the repository.

Send Telegram messages, files, and alerts via bot API; ask questions with inline buttons and wait for the answer. Supports multiple bots, named chat targets, and CI/cron/hook notifications.

Install

npx vskill@latest install sickn33/agentic-awesome-skills/telegram-bot-messaging

Semi-extensibleMentions customization, but needs skill-specific knowledge. Read the extensible skills standard

SKILL.md

Telegram

When to Use

  • Use when you need to send a Telegram message, file, or alert from a workflow, hook, cron job, or CI pipeline
  • Use when a long-running task should notify you or ask for approval on your phone (inline-button questions that wait for the answer)
  • Use when wiring "notify me when done" or "ask me before proceeding" behavior into automated sessions

Send updates, alerts, and files to Telegram; read replies; run ask-and-wait approval flows. Pure bash + curl + jq — no install beyond a bot token.

First run: bash scripts/telegram.sh setup (guided BotFather walkthrough).

Safety Gate

Before setup, sending a message or file, reading replies, or enabling a hook, obtain the user's explicit approval for the target chat, bot account, and exact content or file. Never send workspace, customer, credential, or secret data automatically. Treat a token as a secret: do not echo it, commit it, or place it in shell history.

Commands

bash
bash scripts/telegram.sh send "Deploy finished ✅" # basic alert
bash scripts/telegram.sh send "low priority" --silent # no notification sound
bash scripts/telegram.sh send "*bold* alert" --format md # MarkdownV2 (falls back to plain)
bash scripts/telegram.sh send "hi" --to alerts --bot work # named target + named bot
bash scripts/telegram.sh file report.pdf "Q3 report" # document (photos auto-detected)
bash scripts/telegram.sh read # new incoming messages since last read
ANSWER=$(bash scripts/telegram.sh ask "Deploy to prod?" --options "Yes,No" --timeout 300)
# exit 0 = answered (stdout = answer), 2 = timeout

Config

Env vars win, then ~/.config/telegram/config (mode 600):

TELEGRAM_BOT_TOKEN=123:ABC... # default bot
TELEGRAM_CHAT_ID=987654321 # default target
BOT_ALERTS_TOKEN=456:DEF... # --bot alerts (add via: setup --bot alerts)
TARGET_FAMILY=-100987... # --to family (any chat/group/channel id)
TELEGRAM_APPROVER_IDS=123456789 # default group approver user IDs (comma-separated)
APPROVERS_FAMILY=123456789,987654321 # approvers for --to family (overrides default)

Replies and answers are only accepted from configured chat IDs. Private chats preserve the direct-chat behavior (the sender user ID must equal the chat ID). Because a group chat ID is shared by every member, ask fails closed for groups unless TELEGRAM_APPROVER_IDS or the target-specific APPROVERS_<NAME> explicitly lists the Telegram user IDs allowed to answer.

Claude Code hooks (settings.json)

Ping your phone when Claude needs input, and when it finishes:

json
{
"hooks": {
"Notification": [{"hooks": [{"type": "command",
"command": "bash ~/.claude/skills/telegram/scripts/telegram.sh send \"🔔 Claude needs input in $(basename \\\"$PWD\\\")\""}]}],
"Stop": [{"hooks": [{"type": "command",
"command": "bash ~/.claude/skills/telegram/scripts/telegram.sh send \"✅ Claude finished in $(basename \\\"$PWD\\\")\" --silent"}]}]
}
}

Approval gate in any script/automation:

bash
if [ "$(bash scripts/telegram.sh ask 'Deploy to prod?' --options 'Yes,No')" = "Yes" ]; then
./deploy.sh
fi

Limitations

  • Telegram is a third-party service: message and file contents leave the local machine and may

be retained under Telegram's policies.

  • This skill cannot verify that a chat ID belongs to the intended recipient; confirm the target

before every new destination or automation.

  • Bot tokens grant control of the bot. Store them only in a protected local secret store or

mode-600 configuration file. The script supplies token-bearing API URLs to curl through stdin rather than process arguments; rotate a token if exposure is suspected.

  • Do not use the examples to create unattended notifications or approval flows without the

user's explicit, current authorization.

Operational limits

Setup currently discovers the latest pending chat; verify its numeric ID through a trusted channel before allowing the confirmation send. Do not use setup with unverified pending senders. The script is not a secure approval system: one process per bot is required, ask/read share and consume updates, and webhook mode conflicts with getUpdates. Text answers must reply directly to the question; an allowed sender's unrelated message is not approval. Bind production approvals to the exact action/artifact/destination and verify the response identity, freshness and chosen option in the caller; timeout/error is never consent. No auto-retry on uncertain sends.

Local cursors/config need a private owned directory and exclusive access; do not run on attacker-controlled paths. Bash character splitting can cut markup/Unicode units, Telegram photos/captions have separate limits, and sending a GIF/WebP as photo may fail or alter it: prefer document mode where fidelity matters. Message/caption/argv and logs may expose private data. Truncation/partial multi-message delivery must be reported; formatting fallback does not guarantee delivery. No setup/message/file/read/hook was performed in this review.

Security

  • Security scanPassed, 95 of 100Pattern checks on the skill's files.
  • Model reviewPassed

Quality evaluation

  • Task evaluationNot runNo evaluation yet. Run one in Skill Studio.

Source

Popularity

Repository stars
47,056
Repository forks
6,853
7-day trend score
54

Stars and forks are for the whole GitHub repository, not this skill alone. Not refreshed yet.

Extension points

  • configConfiguration overrides

Works with

Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.

  • Claude Code
  • Cursor
  • GitHub Copilot
  • Windsurf
  • Codex
  • Gemini CLI
  • Cline
  • Amp
  • Roo Code
  • Goose
  • Continue
  • Kilo Code
  • Junie
  • Trae
  • OpenHands
  • Qwen Code
  • AI Agent
  • Tabnine Chat
  • Sourcegraph Cody
  • Amazon Q
  • Firebase Genkit
  • Sweep
  • Devin
  • Phind
  • Mentat
  • Claude Desktop
  • Aider
  • GPT Pilot
  • Plandex
  • bolt.new
  • v0
  • Replit Agent
  • Anse
  • TypingMind
  • BetterChatGPT
  • LibreChat
  • Warp AI
  • Pieces
  • Fig AI
Embed badge
vskill VERIFIED badge
[![vskill VERIFIED](https://verified-skill.com/api/v1/skills/sickn33/agentic-awesome-skills/telegram-bot-messaging/badge)](https://verified-skill.com/skills/sickn33/agentic-awesome-skills/telegram-bot-messaging)

Something wrong with this skill or its page? Tell us.