telegram
Send and receive messages via the Telegram Bot API using curl
Installer avec Codex ou Claude Copiez ce prompt, collez-le dans Codex, Claude ou un autre assistant, puis laissez-le vérifier la page du skill et l'installer pour vous.
Menu
Send and receive messages via the Telegram Bot API using curl
Installer avec Codex ou Claude Copiez ce prompt, collez-le dans Codex, Claude ou un autre assistant, puis laissez-le vérifier la page du skill et l'installer pour vous.
Basé sur la classification professionnelle SOC
Goals, todos, and intentions tracking
Reply to humans who are chatting with me
Reference for the shellm system — recursive LLM shell, identity management, memory, skills, trajectory, and all CLI tools. Use when working on shellm itself, debugging agent behavior, or understanding how the pieces fit together.
Life context and memory system
Manage Google Drive, Gmail, Calendar, Sheets, Docs, and Chat via the gws CLI
Read, write, edit, and search files using view, put, sub, and glob
| name | telegram |
| description | Send and receive messages via the Telegram Bot API using curl |
Use this skill to interact with Telegram via the Bot API. All operations use
curl against https://api.telegram.org/bot<TOKEN>/....
The environment variable TELEGRAM_BOT_TOKEN must be set to a valid Telegram
Bot API token (obtained from @BotFather). The variable TELEGRAM_CHAT_ID should
be set to the target chat/group/channel ID for sending messages.
curl -s "https://api.telegram.org/bot${TELEGRAM_BOT_TOKEN}/sendMessage" \
-d chat_id="${TELEGRAM_CHAT_ID}" \
-d text="Hello from shellm" \
-d parse_mode=Markdown
curl -s "https://api.telegram.org/bot${TELEGRAM_BOT_TOKEN}/sendDocument" \
-F chat_id="${TELEGRAM_CHAT_ID}" \
-F document=@/path/to/file.txt
Poll for new messages using getUpdates. Use offset to acknowledge
previously seen updates and only receive new ones.
# Get latest updates
curl -s "https://api.telegram.org/bot${TELEGRAM_BOT_TOKEN}/getUpdates" \
-d limit=10 \
-d timeout=0
# Acknowledge up to update_id 12345 and get only newer updates
curl -s "https://api.telegram.org/bot${TELEGRAM_BOT_TOKEN}/getUpdates" \
-d offset=12346 \
-d limit=10
Parse the JSON response with jq:
curl -s "https://api.telegram.org/bot${TELEGRAM_BOT_TOKEN}/getUpdates" \
| jq -r '.result[] | "\(.update_id) \(.message.from.username): \(.message.text)"'
curl -s "https://api.telegram.org/bot${TELEGRAM_BOT_TOKEN}/sendMessage" \
-d chat_id="${TELEGRAM_CHAT_ID}" \
-d text="Reply text" \
-d reply_to_message_id=MESSAGE_ID
curl -s "https://api.telegram.org/bot${TELEGRAM_BOT_TOKEN}/getChat" \
-d chat_id="${TELEGRAM_CHAT_ID}" | jq .
All Telegram API responses return JSON with an ok field. Check it:
response=$(curl -s "https://api.telegram.org/bot${TELEGRAM_BOT_TOKEN}/sendMessage" \
-d chat_id="${TELEGRAM_CHAT_ID}" \
-d text="test")
if [ "$(echo "$response" | jq -r '.ok')" != "true" ]; then
echo "Telegram API error: $(echo "$response" | jq -r '.description')" >&2
fi
Telegram limits bots to ~30 messages/second to different chats, and ~20 messages/minute to the same chat. Add short delays between batch sends.