Integrations

Telegram

Connect Telegram to post to your channels and groups with your bot, reply to people who message it, send files and polls, and manage members.

API credentialsSupport & MessagingTelegram API docsTelegram MCP server overview

You paste one value into PopMCP: the bot token that @BotFather gives you when you create a bot inside Telegram. It looks like 123456789:AAH... and is free, instant and needs no approval.

Setup time
2 min
Auth
API credentials
API base URL
https://api.telegram.org/bot<token>
Rate limits
Telegram allows a bot about one message a second in a single chat, 20 messages a minute in a group and about 30 messages a second overall; above that it answers 429 with the seconds to wait. Bots upload files up to 50 MB (photos 10 MB) and download up to 20 MB. Paid broadcasts lift the overall limit to 1,000 messages a second at 0.1 Telegram Stars each, for bots with at least 100,000 Stars and 100,000 monthly active users.

Before you begin

  • A Telegram account, on the phone app, the desktop app or web.telegram.org
  • A bot of your own, made with @BotFather in about a minute. Use a separate bot for PopMCP if one you already have runs somewhere else
  • For a channel: you are an owner or administrator, so you can make the bot an administrator with permission to post

Get your credentials

Open @BotFather in Telegram

Open Telegram on your phone, on desktop or at web.telegram.org, search for @BotFather and open the chat with the blue check mark, then press Start. BotFather is Telegram's own bot for making and managing bots; it also has a mini app with the same options.

Open this screen →

web.telegram.org/k/#@BotFather
SearchJordan Lee

BotFather

bot

Only use the verified @BotFather with the blue check mark. Bots with similar names are not Telegram's and must never see your token.
BotFather
What it does
I can help you create and manage Telegram bots.
Create a bot
/newbot
Your bots
/mybots
Start

Create the bot with /newbot

Send /newbot. BotFather asks for a name, which people see in chats and you can change later, and then a username, which must end in bot (for example acme_updates_bot), must not be taken, and cannot be changed later.

Open this screen →

web.telegram.org/k/#@BotFather
SearchJordan Lee

BotFather

bot

Chat
You
/newbot
BotFather
Alright, a new bot. How are we going to call it? Please choose a name for your bot.
You
Acme Updates
BotFather
Good. Now let's choose a username for your bot. It must end in `bot`. Like this, for example: TetrisBot or tetris_bot.
You
acme_updates_bot

Usernames are 5 to 32 characters long: Latin letters, numbers and underscores, ending in bot.

Copy the bot token

BotFather answers Done! with the link to your bot and its token, a number, a colon and a long code such as 123456789:AAH.... Copy the whole token. Anyone who has it controls the bot, so keep it private. For a bot you made before, send /mybots, pick the bot and tap API Token.

Open this screen →

web.telegram.org/k/#@BotFather
SearchJordan Lee

BotFather

bot

Done! Congratulations on your new bot.
You will find it at
t.me/acme_updates_bot
Use this token to access the HTTP API
7712345678:AAH*****************************kXo
Copy token

Keep your token secure and store it safely, it can be used by anyone to control your bot.

Add the bot to your channel or group (optional)

To post in a channel, open the channel's info, then Administrators, Add Admin, choose your bot and keep Post Messages on. For a group, add the bot as a member. While privacy mode is on, a bot in a group only sees commands, replies to it and mentions; make it an administrator, or send /setprivacy to BotFather and choose Disable and then add it to the group again, if it should see every message.

web.telegram.org/k/#@acmenews
SearchJordan Lee
Acme News / Administrators

Acme News

channel

Admin rights: Acme Updates
Change Channel Info
Post MessagesNeeded for the bot to post
Edit Messages of Others
Delete Messages of Others
Add New Admins
CancelSave

Bots never see your personal chats. A bot only takes part in chats it is added to, and can only message people who pressed Start in it.

Paste the token into PopMCP

In PopMCP, paste the token into Bot token and connect. Under More options you can add a Default chat, such as @yourchannel or a numeric id, so the AI posts there when you do not name a chat; PopMCP checks that the bot can see it.

Connect in PopMCP

Open your workspace, choose Telegram in the marketplace, and fill in the connect dialog:

FieldWhat to enter
Bot tokensecretIn Telegram, open @BotFather and send /newbot (or /mybots, pick your bot, then API Token). Copy the token it shows. Stored encrypted and used only on our servers.Encrypted with AES-256-GCM on save and never shown again.
Default chattextOptional. The channel or group the AI uses when you do not name one: its @username or numeric id. Add the bot to it first (as an administrator for a channel).

PopMCP verifies the credential against Telegram immediately. On success the connection flips to Verified and its MCP tools are provisioned.

Verify it worked

PopMCP checks the token with Telegram's getMe and shows the connection as your bot's @username, noting whether privacy mode is on and whether the bot already sends its updates to a webhook of its own. Asking the AI for your bot's username, or to post a short test message to your default chat, confirms it works.

Troubleshooting

"Telegram rejected this bot token. In @BotFather send /mybots, pick the bot and tap API Token to copy it again (or send /token for a new one), then paste only the token."

Why: Part of the token was missed when copying, or the token was replaced with /token or revoked in BotFather.

Fix: In BotFather send /mybots, choose the bot, tap **API Token** and copy the whole value, numbers and colon included.

"That is not a bot token. A token from @BotFather looks like 123456789:AAH..."

Why: Something else was pasted, often the api_id or api_hash from my.telegram.org, which are for apps, not bots.

Fix: Copy the token from @BotFather instead. It always has a colon between the bot's number and the long code.

"The bot cannot see the default chat @yourchannel."

Why: The bot is not in that chat, the username is wrong, or the chat is private and was given by @username.

Fix: Add the bot to the chat first (as an administrator for a channel), check the @username, use the numeric id for a private chat, or leave Default chat empty.

Sending fails with "chat not found"

Why: The chat id or @username is wrong, the bot is not a member of the chat, or the person never pressed Start in the bot.

Fix: Ask the AI to run list_chats to see the chats the bot can reach, add the bot to the chat, or ask the person to open the bot and press Start.

"bot can't initiate conversation with a user" or "bot was blocked by the user"

Why: Bots can only message people who started a chat with them, and someone who blocked the bot cannot receive its messages.

Fix: Share the bot's link (t.me/your_bot) and ask the person to press Start, or to unblock the bot.

"not enough rights" or "need administrator rights in the channel chat"

Why: The bot is a member but lacks the administrator right the action needs, such as Post Messages, Delete Messages or Ban Users.

Fix: Open the chat's Administrators list, edit the bot and switch on the right that is named in the error.

Reading messages says the bot delivers its updates to a webhook

Why: The bot already runs in another program, which receives its updates. Telegram allows only one receiver per bot.

Fix: Keep that program as it is. Create a separate bot for PopMCP if the AI should read incoming messages; sending works either way.

Messages show raw asterisks, or fail with "can't parse entities"

Why: Ordinary Markdown such as **bold** is not Telegram's text format, and MarkdownV2 needs special characters escaped.

Fix: Ask the AI to use send_rich_message with Markdown, or HTML formatting with send_message.

Reference

On this page