The short answer
- 1The description fills the empty chat (512 chars); the about text sits on the profile (120 chars).
- 2Edit in @BotFather, or with the Bot API per language.
- 3Keep the default in English and add other languages with language_code.
In this article
Four things users see about your bot
| Item | Where it appears | Limit |
|---|---|---|
| Name | Chat list, chat header and profile | Unlike the @username ending in "bot", changing it does not change the bot's link |
| Description | The middle of the empty chat when someone opens your bot for the first time: "What can this bot do?" | Up to 512 characters |
| Short description (About) | The bot's profile page, and the preview when its link is shared | Up to 120 characters |
| Profile photo | Chat list and profile | An image that is easy to recognise and does not look like someone else's |
The description is the only text a user reads before tapping Start. Say briefly what the bot does, what it stores, and where to ask for help.
Two ways to change them
| Item | @BotFather | Bot API |
|---|---|---|
| Name | /setname | setMyName |
| Description | /setdescription | setMyDescription |
| Short description | /setabouttext | setMyShortDescription |
| Photo | /setuserpic | — |
@BotFather is instant but easiest for a single language. The Bot API lets you register each language separately. To read the current values, use getMyName, getMyDescription and getMyShortDescription. If you are starting from scratch, see creating a bot with BotFather.
Register each language separately
All three methods accept language_code. Users whose app language matches see that version; everyone else sees the value you registered without a language.
curl https://api.telegram.org/bot123456:ABC-EXAMPLE/setMyDescription \
-d language_code=es \
-d description="Bot para enviar sugerencias de canales. Los mensajes solo se guardan para revisarlos."
Keep the default (no language) in English and add the languages your users actually speak, so people abroad and at home each read your bot in their own language. Sending an empty value deletes that language's version and falls back to the default. The command list can be split the same way; see registering bot commands.
Do not look like an impersonator
How users decide which bots to trust is covered in finding bots you can trust; your bot's info is exactly what they will check.
FAQ
What is the difference between a bot's description and about text?
The description (up to 512 characters) shows in the empty chat before Start; the about text (up to 120) shows on the profile and in link previews.
Can my bot show its description in different languages?
Yes. Call setMyDescription with a language_code for each language; others see the default.
How do I change my Telegram bot's profile photo?
Use /setuserpic in @BotFather.
Sources
At a glance
- 1Description
Read before Start: what the bot does and stores.
- 2Languages
setMyName, setMyDescription and setMyShortDescription take language_code.
- 3Trust
No borrowed logos or 'official'; name who runs it.
Updated