Loading source
Pulling the file list, source metadata, and syntax-aware rendering for this listing.
Source from bundle
Manage Telegram bot profile, commands, photos, menu button, and admin rights from any agent via Bot API.
Files
Skill
Size
Entrypoint
Format
Open file
Syntax-highlighted preview of this file as included in the skill package.
telegram-bot-settings/references/bot-api-settings.md
1# Telegram Bot API settings map23Use this reference when you need the exact Bot API surface for bot-facing profile/config changes.45## Covered by the bundled CLI67### Identity and public profile89- `getMe`10- `getMyName` / `setMyName`11- `getMyDescription` / `setMyDescription`12- `getMyShortDescription` / `setMyShortDescription`13- `setMyProfilePhoto` / `removeMyProfilePhoto`1415Notes:16- Localized name/description calls support `language_code`.17- Static profile photos are uploaded as `InputProfilePhotoStatic` and are expected as `.jpg/.jpeg` by Bot API.18- Animated profile photos use `InputProfilePhotoAnimated` with an MPEG4 file and optional `main_frame_timestamp`.19- The bundled CLI auto-converts non-JPEG static images to JPEG when Pillow is available.2021### Commands2223- `getMyCommands`24- `setMyCommands`25- `deleteMyCommands`2627Notes:28- Commands can be scoped with `BotCommandScope` JSON.29- Commands can also be localized with `language_code`.3031Example commands JSON:3233```json34[35{"command": "start", "description": "Open the bot"},36{"command": "help", "description": "Show help"}37]38```3940Example scope JSON:4142```json43{"type": "default"}44```4546### Menu button4748- `getChatMenuButton`49- `setChatMenuButton`5051Common menu button payloads:5253```json54{"type": "default"}55```5657```json58{"type": "commands"}59```6061```json62{63"type": "web_app",64"text": "Open app",65"web_app": {"url": "https://example.com/app"}66}67```6869Notes:70- Without `chat_id`, the default menu button is changed.71- With `chat_id`, the change applies to a specific private chat.7273### Default admin rights7475- `getMyDefaultAdministratorRights`76- `setMyDefaultAdministratorRights`7778Example rights JSON:7980```json81{82"can_manage_chat": true,83"can_delete_messages": true,84"can_invite_users": true,85"can_restrict_members": false,86"can_pin_messages": true,87"can_manage_topics": true88}89```9091Notes:92- Group/supergroup rights are the default branch.93- Add `for_channels=true` for channel defaults.94- Omitting `rights` clears the defaults.9596## Use the raw escape hatch for future methods9798The CLI includes a `raw` subcommand:99100```bash101python scripts/telegram_bot_settings.py raw METHOD --data '{...}'102```103104Use it when Telegram adds a new account-level setting before the wrapper gets updated.105106## Things Bot API still does not cleanly cover for this skill107108Treat these as out of scope unless Telegram adds/changes methods and you intentionally extend the script:109110- bot token rotation111- privacy mode / group visibility toggles112- inline mode enable/disable113- main username changes / username purchasing / Fragment flows114- BotFather-only setup flows and owner-account settings115116## Suggested change order1171181. Run `status` first.1192. Change one surface at a time.1203. Re-read the specific getter after each change if the output matters.1214. For bigger edits, save JSON payloads in files and pass them with `@file.json` instead of long inline shell strings.122