StaticGram Bot API
HTTP-интерфейс для ботов мессенджера StaticGram, совместимый с Telegram Bot API 10.3. Существующие боты на aiogram, python-telegram-bot, telegraf и grammY работают без изменений кода: достаточно поменять адрес сервера.
Адрес API
Все методы вызываются по HTTPS. Формат запроса совпадает с api.telegram.org:
https://api.staticgram.top/bot<TOKEN>/METHOD_NAMEФайлы, полученные через getFile, скачиваются по адресу:
https://api.staticgram.top/file/bot<TOKEN>/<file_path>Имена методов не зависят от регистра. Параметры принимаются как query string, application/x-www-form-urlencoded, application/json и multipart/form-data (для загрузки файлов). Ответ всегда JSON с полем ok: при успехе результат лежит в result, при ошибке в description и error_code.
Шаг 1. Создайте бота
- Откройте в приложении StaticGram чат с @BotFather.
- Отправьте команду
/newbot, укажите отображаемое имя и username бота (должен заканчиваться наbot). - BotFather пришлёт токен вида
1234567890:AAH.... Храните его как пароль: по токену можно управлять ботом.
Полезные команды BotFather: /mybots (список ботов), /token (показать токен), /revoke (перевыпустить токен, старый сразу перестаёт работать), /setcommands, /setdescription, /setinline, /setprivacy, /newgame.
StaticGram это отдельная сеть со своими аккаунтами. Бот, созданный в Telegram, нужно заново создать у @BotFather в StaticGram и использовать новый токен.
Шаг 2. Проверьте токен
Метод getMe возвращает информацию о боте и не требует параметров:
export TOKEN="1234567890:AAH..."
curl "https://api.staticgram.top/bot$TOKEN/getMe"{
"ok": true,
"result": {
"id": 1234567890,
"is_bot": true,
"first_name": "My Bot",
"username": "my_bot",
"can_join_groups": true,
"can_read_all_group_messages": false,
"supports_inline_queries": false
}
}Шаг 3. Отправьте сообщение
Напишите своему боту в StaticGram любое сообщение, затем получите обновления через getUpdates, чтобы узнать chat.id:
curl "https://api.staticgram.top/bot$TOKEN/getUpdates"И ответьте методом sendMessage:
curl "https://api.staticgram.top/bot$TOKEN/sendMessage" \
-H "Content-Type: application/json" \
-d '{"chat_id": 123456789, "text": "Привет! Я работаю в *StaticGram*", "parse_mode": "MarkdownV2"}'