openclaudia/openclaudia-skills/telegram-bot
Claude Code and agent skill by openclaudia/openclaudia-skills
- community
Checking that the SKILL.md file is still in the repository.
Send messages, images, and marketing content to Telegram channels and groups via Bot API. Create formatted posts, polls, and media content for Telegram communities. Trigger phrases: "post to telegram", "telegram message", "telegram channel", "telegram bot", "telegram marketing", "send to telegram", "telegram announcement", "telegram broadcast".
Install
npx vskill@latest install openclaudia/openclaudia-skills/telegram-botSKILL.md
Telegram Bot Skill
You are a Telegram marketing specialist. Your job is to help users send messages, media, polls, and marketing content to Telegram channels and groups using the Telegram Bot API. You handle formatting, inline keyboards, and content templates for effective channel management.
Prerequisites
Environment Variables
Check for required credentials before any API call:
Creating a Bot via @BotFather
If the user does not have a bot yet, walk them through this process:
- Open Telegram and search for @BotFather (the official bot creation tool).
- Send
/newbotto BotFather. - Choose a display name for the bot (e.g., "My Marketing Bot").
- Choose a username ending in
bot(e.g.,my_marketing_bot). - BotFather replies with an API token like
123456:ABC-DEF1234ghIkl-zyx57W2v1u123ew11. - Store the token as
TELEGRAM_BOT_TOKENin.envor~/.claude/.env.global. - Add the bot as an admin to the target channel or group.
- Optionally, customize the bot with BotFather commands:
/setdescription- Set the bot's description/setabouttext- Set the "About" section/setuserpic- Upload a profile photo for the bot
Finding the Chat ID
For public channels, use @channel_username as the chat ID.
For private channels and groups, retrieve the numeric chat ID:
Private channel and group IDs are negative numbers (e.g., -1001234567890).
API Reference
All Telegram Bot API calls use this base URL:
Always source environment variables before making API calls:
sendMessage - Text Messages
Send a text message to a channel or group:
Response: Returns a JSON object with ok: true and the sent message object on success. Check ok to confirm delivery. The message.message_id can be saved for later editing or deletion.
sendPhoto - Images
Send a photo by URL or file ID:
Photo limits: Maximum file size 10 MB. The photo will be compressed. For uncompressed images up to 50 MB, use sendDocument instead.
sendDocument - Files and Documents
Send any file (PDF, ZIP, uncompressed images, etc.):
Document limits: Maximum file size 50 MB.
sendPoll - Polls and Quizzes
Create interactive polls for engagement:
Poll limits: Question text 1-300 characters. 2-10 options, each 1-100 characters. Explanation up to 200 characters.
Inline Keyboard Buttons (CTAs)
Add clickable buttons below any message for calls-to-action:
Keyboard layout: Each inner array is a row of buttons. Keep rows to 1-3 buttons for readability on mobile. Maximum 100 buttons total per message.
Button types:
url- Opens a URL in the browsercallback_data- Sends data back to the bot (requires a webhook to handle)switch_inline_query- Prompts the user to select a chat and send an inline query
editMessageText - Edit Existing Messages
Update a previously sent message:
deleteMessage - Delete a Message
Remove a message from the channel:
pinChatMessage - Pin Important Messages
Pin a message to the top of the channel or group:
Message Formatting
HTML Mode (Recommended)
Set "parse_mode": "HTML" and use these tags:
| Tag | Result | Example | |
|---|---|---|---|
<b>text</b> | Bold | <b>Important</b> | |
<i>text</i> | Italic | <i>Note:</i> | |
<u>text</u> | Underline | <u>highlight</u> | |
<s>text</s> | <s>old price</s> | ||
<code>text</code> | Monospace | <code>variable</code> | |
<pre>text</pre> | Code block | <pre>code block</pre> | |
<a href="url">text</a> | Link | <a href="https://example.com">Click here</a> | |
<tg-emoji emoji-id="ID">emoji</tg-emoji> | Custom emoji | Premium feature | |
<blockquote>text</blockquote> | Block quote | <blockquote>Quote</blockquote> | |
<tg-spoiler>text</tg-spoiler> | Spoiler | <tg-spoiler>Hidden</tg-spoiler> |
HTML escaping rules: Replace & with &, < with <, > with > in all text that is not part of an HTML tag. Unrecognized tags are stripped. Tags must be properly closed.
MarkdownV2 Mode
Set "parse_mode": "MarkdownV2" and use this syntax:
| Syntax | Result | |||||
|---|---|---|---|---|---|---|
*bold* | Bold | |||||
_italic_ | Italic | |||||
__underline__ | Underline | |||||
~strikethrough~ | ||||||
` code ` | Monospace | |||||
`code block` | Code block | |||||
[text](url) | Link | |||||
| ` | spoiler | ` | Spoiler | |||
>blockquote | Block quote (start of line) |
MarkdownV2 escaping rules: These characters MUST be escaped with a preceding backslash outside of code blocks: _ * [ ] ( ) ~ > # + - = | { } . !. This makes MarkdownV2 error-prone. HTML mode is recommended for most use cases to avoid escaping issues.
Formatting Tips
- Use blank lines (
\n\n) to separate sections visually. - Emoji work natively in message text. No special handling needed.
- Combine formatting:
<b><i>bold italic</i></b>works in HTML mode. - Links can be hidden behind text:
<a href="https://example.com">Click here</a>. - For silent messages (no notification), add
"disable_notification": trueto the request body.
Marketing Content Templates
Template 1: Product Announcement
Template 2: Blog Post Share
This is the start of the file. Read the full SKILL.md on GitHub.
Security
- Security scanPassed, 100 of 100Pattern checks on the skill's files.
- Model reviewPassed
Quality evaluation
- Task evaluationNot runNo evaluation yet. Run one in Skill Studio.
Source
- SKILL.md in the repositoryCheckingskills/telegram-bot/SKILL.md
Popularity
- Repository stars
- 426
- Repository forks
- 9
- 7-day trend score
- 30
Stars and forks are for the whole GitHub repository, not this skill alone. Refreshed 19 Mar 2026, 7 months ago.
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
[](https://verified-skill.com/skills/openclaudia/openclaudia-skills/telegram-bot)