From better-telegram-mcp
Diagnoses Telegram bot connection errors using error codes (403, 400, 401, 429) and guides fixes for token, chat_id, network, and permission issues.
How this skill is triggered — by the user, by Claude, or both
Slash command
/better-telegram-mcp:setup-bot [error message or symptom][error message or symptom]The summary Claude sees in its skill listing — used to decide when to auto-load this skill
Diagnose and fix Telegram bot connectivity issues. This skill assumes the bot already exists in BotFather -- focus is on getting it working with better-telegram-mcp.
Diagnose and fix Telegram bot connectivity issues. This skill assumes the bot already exists in BotFather -- focus is on getting it working with better-telegram-mcp.
Verify connection status:
config(action="status") to check current bot token and connection stateTELEGRAM_BOT_TOKEN env var and restart the MCP server (token is NOT runtime-configurable)Test send to obtain chat_id:
chat(action="list") to see known chatsmessage(action="send", chat_id="<id>", text="Connection test")Diagnose errors using the flowchart below
Send fails
|
+-- HTTP 403 "Forbidden: bot was blocked by the user"
| -> User blocked the bot. They must unblock it in Telegram.
|
+-- HTTP 403 "Forbidden: bot is not a member of the channel/group"
| -> Bot not added to the group/channel.
| -> For groups: add bot as member via group settings.
| -> For channels: add bot as admin (channels require admin for posting).
|
+-- HTTP 400 "Bad Request: chat not found"
| -> Wrong chat_id format.
| -> Groups use negative IDs (e.g., -1001234567890).
| -> Channels use negative IDs or @channel_username.
| -> Users use positive numeric IDs.
|
+-- HTTP 400 "Bad Request: can't parse entities"
| -> MarkdownV2 formatting error. See channel-post skill for escaping rules.
|
+-- HTTP 401 "Unauthorized"
| -> Bot token is invalid or revoked.
| -> Verify token with @BotFather (/mybots -> select bot -> API Token).
| -> If token was regenerated, update TELEGRAM_BOT_TOKEN and restart.
|
+-- HTTP 429 "Too Many Requests"
| -> Rate limited. Wait the retry_after seconds indicated in the response.
| -> Telegram limits: ~30 messages/second globally, 1 msg/second per chat.
|
+-- Connection timeout / DNS resolution failed
| -> Network issue. Check internet connectivity.
| -> If behind proxy/firewall, Telegram API (api.telegram.org) may be blocked.
|
+-- "Not Found" on getMe
-> Token format is wrong. Must be "123456:ABC-DEF..." format.
Creates, edits, and optimizes skills for Claude Code, including drafting, evaluating with test prompts, iterating on performance, and improving skill descriptions for better triggering accuracy.
npx claudepluginhub n24q02m/better-telegram-mcp