🌙

Быстрый старт

Быстрый старт

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("Привет! Я бот.")

@dp.message()
async def echo(msg):
    if msg.text:
        await msg.reply(msg.text)

asyncio.run(dp.start_polling(bot))

Как это работает

  • Bot — HTTP-клиент API. Принимает токен, отправляет запросы к https://api.kodari.ru/msg/bot.php
  • Dispatcher — маршрутизирует апдейты по зарегистрированным хендлерам
  • @dp.message(фильтр) — регистрирует async-функцию как обработчик
  • dp.start_polling(bot) — бесконечный цикл getUpdates

Хендлеры проверяются сверху вниз, вызывается первый подходящий. Без фильтров — хендлер принимает все сообщения.

Использование как context manager

async def main():
    async with Bot("bot_ВАШ_ТОКЕН") as bot:
        me = await bot.get_me()
        print(me.username)

asyncio.run(main())
1 просмотр