Установка
Установка
pip install pykodaribot
Требования: Python 3.9+. Зависимость aiohttp ставится автоматически.
Текущая версия — 0.3.0.
Токен
Токен выдаёт @BotFather в Kodari Messenger: /newbot, затем имя и @username, оканчивающийся на bot. Подробнее — в разделе API ботов → Начало работы.
from pykodaribot import Bot
bot = Bot("bot_ВАШ_ТОКЕН")
Токен лучше держать в переменной окружения:
import os
bot = Bot(os.environ["KODARI_BOT_TOKEN"])
Из чего состоит библиотека
| Модуль | Что внутри |
|---|---|
Bot | HTTP-клиент всех методов Bot API поверх aiohttp |
Dispatcher, Router | Маршрутизация апдейтов по хендлерам, поллинг |
filters | Фильтры: команды, текст, callback-данные, медиа |
| типы | Message, User, Chat, CallbackQuery, Update, ChatMember, ChatInviteLink и другие |
BotError | Исключение при ответе ok: false |
Что покрыто
SDK закрывает все 39 методов Bot API: отправку сообщений и медиа, редактирование, удаление, поллинг, callback-кнопки, профиль бота, чтение чатов и участников, полное администрирование чата и ссылки-приглашения.
Известные расхождения версии 0.3.0
Следующие методы SDK вызывают эндпоинты, которых на сервере нет — вызов завершится BotError с кодом 404:
| Метод SDK | Статус |
|---|---|
bot.forward_message(), msg.forward_to() | сервер не поддерживает пересылку |
bot.set_message_reaction(), msg.react() | сервер не поддерживает реакции от бота |
bot.get_pinned_messages() | используйте bot.get_chat() → chat.pinned_message |
@dp.message_reaction(), filters.reaction() | апдейт message_reaction не приходит |
bot.unpin_message(chat_id, message_id=…) | message_id игнорируется, открепляются все |
Остальные методы соответствуют серверу.
58 просмотров