Skip to main content

channels

channels.connect_telegram_bot

Connect Telegram Bot

Effects: write, external_api

🤖 Connect a Telegram Bot (Bot API) channel from its bot token.

When to use:

  • After a bot was created via @BotFather and you have its token.
  • The token alone is sufficient — no Telegram user account is needed.

Validates the token, creates the channel account, and registers the webhook so the bot starts receiving messages immediately.

Arguments

ArgumentTypeRequiredDescription
bot_tokenstringyesTelegram bot token from @BotFather (e.g. '123456789:ABCdef...').

channels.get_profile

Get Channel Profile

Effects: read

🪪 Read a connected channel's current bot profile: display name, long description, short description, the / command menu and the persistent menu button.

Pass language_code to read back a localized variant instead of the default one.

Arguments

ArgumentTypeRequiredDescription
channel_account_idintegeryesThe channel account to read, from channels list.
language_codestringnoIETF language code (e.g. 'en') to read a localized variant of the text fields instead of the default. OMIT for the default variant.

channels.update_profile

Update Channel Profile

Effects: write, external_api

🪪 Update a connected channel's bot profile: display name, long description (the "What can this bot do?" card), short description, the / command menu, and the persistent menu button next to the input field.

Every field is optional — pass only what you want to change; any field you omit is left exactly as it is.

menu_button with type="web_app" is what puts a persistent button next to the input field that opens a Mini App page bound to this bot (pass the page's https URL as menu_button.url).

Two things this tool CANNOT set, because the Bot API does not expose them — both stay BotFather-only: the bot's AVATAR, and registering a NAMED Mini App (t.me/bot/appname). menu_button.web_app and any web_app message button work off a direct URL and need no such registration.

Arguments

ArgumentTypeRequiredDescription
channel_account_idintegeryesThe channel account to update, from channels list.
commandsarraynoThe / command menu: a list of {command, description} objects (command: lowercase letters/digits/underscores, <= 32 chars; description: <= 256 chars; <= 100 commands total). OMIT to leave unchanged.
descriptionstringnoLong description shown on the "What can this bot do?" card before Start (<= 512 characters). OMIT to leave unchanged.
language_codestringnoIETF language code (e.g. 'en') to set a localized variant of the text fields instead of the default. OMIT for the default variant every user without a matching locale sees.
menu_buttonobjectnoThe persistent button next to the input field: {type: "commands"|"default"|"web_app", text?, url?}. "commands" shows the / menu, "default" removes the custom button, and "web_app" opens a Mini App at url (must be https://) with the button labelled text. OMIT to leave unchanged.
namestringnoBot display name (<= 64 characters). OMIT to leave unchanged.
short_descriptionstringnoShort description shown on the profile page (<= 120 characters). OMIT to leave unchanged.