🌙

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

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

1. Создание бота

Откройте чат с @BotFather в Kodari Messenger:

  1. Отправьте /newbot
  2. Введите имя бота, например Kodari Helper
  3. Введите @username — обязательно заканчивается на bot, например kodarihelperbot
  4. Получите токен вида bot_<64 hex-символа>он показывается один раз

2. Команды BotFather

КомандаДействие
/newbotсоздать бота
/mybotsсписок ботов с кнопками управления: имя, описание, фото, команды, перевыпуск токена, удаление
/token @usernameперевыпустить токен без меню
/deletebot @usernameудалить бота без меню

Всё, что доступно через /mybots, доступно и через API: setMyName, setMyDescription, setMyShortDescription, setMyCommands.

3. Авторизация

Токен передаётся в каждом запросе к https://api.kodari.ru/msg/bot.php:

Authorization: Bearer bot_ВАШ_ТОКЕН

Альтернативный заголовок:

X-Token: bot_ВАШ_ТОКЕН

Имя метода передаётся в query-параметре method. Параметры — в JSON-теле (Content-Type: application/json), в query-строке или в multipart/form-data при отправке файлов.

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

curl "https://api.kodari.ru/msg/bot.php?method=getMe" \
  -H "Authorization: Bearer bot_ВАШ_ТОКЕН"
{ "ok": true, "result": { "id": 42, "is_bot": true, "first_name": "Kodari Helper", "username": "kodarihelperbot" } }

5. То же самое на Python

pip install pykodaribot
import asyncio
from pykodaribot import Bot, Dispatcher, filters

bot = Bot("bot_ВАШ_ТОКЕН")
dp = Dispatcher()

@dp.message(filters.command("start"))
async def start(msg):
    await msg.answer("Привет! Я бот.")

asyncio.run(dp.start_polling(bot))

Подробности — в разделе Python SDK (pykodaribot).

6. Как бот попадает в чат

  • Личный чат — пользователь открывает бота через поиск по @username и пишет первым
  • Группа или канал — владелец добавляет бота как участника; для публикации в канале бот должен быть администратором
  • Бот пишет первым — только через getOrCreateChat и только если у бота включён флаг can_initiate_chat (выдаётся администрацией Kodari)

Бот получает апдейты и может отправлять сообщения только в чатах, где он состоит участником.

89 просмотров