Боты Koto на
любом языке
Bot API — это обычный HTTP + JSON. Шлюз Koto держит E2E-идентичность бота и расшифровку, а вы пишете логику на чём угодно: Python, JavaScript, Go, Rust или Luna. Подходят и готовые клиентские библиотеки для ботов.
# Send a message — it's a single HTTP request
curl -X POST https://api.koto.run/sendMessage \
-H "Authorization: Bearer kbot_…" \
-H 'content-type: application/json' \
-d '{"chat_id":"KOTO-…","text":"Hello from Koto!"}'
# → { "ok": true, "result": { "message_id": "…" } }Бот за три шага
От токена до работающего бота — без SDK и без возни с криптографией.
Получите токен
Откройте @BotKoto в приложении, отправьте /newbot и получите токен kbot_….
Вызовите API
Шлите HTTP-запросы на {GATEWAY}/{method}. Токен — в заголовке Authorization: Bearer. Любой язык, никакого SDK.
Получайте апдейты
Тяните getUpdates (long-poll) или поставьте webhook — бот реагирует на сообщения.
Что умеет Bot API
Сообщения и медиа
Текст, фото, документы и опросы. Полный жизненный цикл диалога.
Inline-кнопки
Клавиатуры под сообщением и обработка нажатий через callback_query.
Мини-приложения
Веб-страница внутри чата с боковой кнопкой запуска и мостом KotoWebApp.
Webhooks и long-poll
Получайте апдейты по webhook в реальном времени или опрашивайте getUpdates.
Меню команд
Публичный список команд «/» через setMyCommands.
Правки и реакции
Редактирование, удаление, закрепление, реакции и пересылка сообщений.
Никакого SDK — только HTTP
Бот — это код, который делает HTTP-запросы. Подойдёт всё: Python, JavaScript, Go, Rust, bash или Luna. Шлюз берёт на себя сквозное шифрование и идентичность бота — криптографию вы не трогаете.
import requests
API = "https://api.koto.run"
HEADERS = {"Authorization": "Bearer kbot_…"}
# long-poll and echo back
r = requests.get(f"{API}/getUpdates", headers=HEADERS, params={"timeout": 20}).json()
for u in r["result"]:
m = u.get("message")
if m and m.get("text"):
requests.post(f"{API}/sendMessage", headers=HEADERS, json={
"chat_id": m["chat"]["id"],
"text": "Echo: " + m["text"],
})Методы Koto API
Вызовы идут на {GATEWAY}/{method}, токен — в заголовке Authorization, а ответ — JSON-конверт { ok, result }. Ниже — несколько основных методов; полный справочник в документации.
Соберите первого бота за минуты
Откройте @BotKoto, получите токен и отправьте первое сообщение через API.