Ostart Bot API

Начало работы

Создать бота через @BotFather, взять токен, сделать первый запрос.

1. Создать бота через @BotFather

Боты создаются в самом чате, диалогом с @BotFather. Открыть его: «Настройки профиля» → «Боты» → «Открыть @BotFather», либо найти его в списке людей и написать.

/newbot            — создать бота (спросит имя)
/mybots            — список ваших ботов
/token <имя>       — новый токен вместо старого
/deletebot <имя>   — удалить бота
/help              — подсказка

2. Имя бота

От четырёх символов: буквы, цифры, пробел, дефис и подчёркивание. Служебные имена — admin, support, zoan, chatzoan, ostart, chatostart, openstart, chatopenstart, botfather и ещё около двух сотен — заняты, непристойные не проходят.

Проверка идёт по нормализованной форме, поэтому «аdmin» с кириллической «а», «оstart» с кириллической «о», «0start», «Admin_Bot» и «pid0r» — это те же имена, что и без подмен. Подобрать похожее написание вместо занятого или запрещённого не получится.

3. Токен

Токен показывается один раз и хранится только хешем: потерянный не восстанавливается, а перевыпускается командой /token — старый при этом перестаёт работать. Обращайтесь с ним как с паролем: не кладите в репозиторий и не пишите в логи.

Удаление бота не переписывает историю: сказанное им остаётся в чатах.

4. Первый запрос

Проверить токен быстрее всего запросом о самом боте.

curl "https://chat.ostart.ru/bot/v1/self/get?token=ВАШ_ТОКЕН"

{"ok":true,"userId":"0f9e…","nick":"Помощник","firstName":"Помощник"}

5. Добавить бота в чат

Созданный бот сразу существует как участник — добавьте его в нужный чат как обычного человека, и он начнёт получать события. Пока не добавили, чата для него не существует: запросы к нему отвечают 404. И видит он только то, что происходило с момента вступления.

6. Читать события

Дальше бот живёт в цикле: спрашивает events/get, обрабатывает событие, отвечает через messages/sendText.