- 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

Category: AI & Intelligent Agents
Repo: antigravity-awesome-skills
Path: skills/telegram-bot-messaging/SKILL.md
Updated: 7/12/2026, 11:41:17 PM
Open on GitHubHow to Install

AI Summary

- 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. It is useful for LLM applications, agent orchestration, RAG pipelines, AI evaluation, and multi-agent workflows. Source: antigravity-awesome-skills (skills/telegram-bot-messaging/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: 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

scripts/telegram.sh send "Deploy finished βœ…"                    # basic alert
scripts/telegram.sh send "low priority" --silent                # no notification sound
scripts/telegram.sh send "*bold* alert" --format md             # MarkdownV2 (falls back to plain)
scripts/telegram.sh send "hi" --to alerts --bot work            # named target + named bot
scripts/telegram.sh file report.pdf "Q3 report"                 # document (photos auto-detected)
scripts/telegram.sh read                                        # new incoming messages since last read
ANSWER=$(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)

Replies and answers are only accepted from configured chat IDs.

Claude Code hooks (settings.json)

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

{
  "hooks": {
    "Notification": [{"hooks": [{"type": "command",
      "command": "~/.claude/skills/telegram/scripts/telegram.sh send \"πŸ”” Claude needs input in $(basename \\\"$PWD\\\")\""}]}],
    "Stop": [{"hooks": [{"type": "command",
      "command": "~/.claude/skills/telegram/scripts/telegram.sh send \"βœ… Claude finished in $(basename \\\"$PWD\\\")\" --silent"}]}]
  }
}

Approval gate in any script/automation:

if [ "$(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, and 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.

Related skills