Рабочие примеры для быстрого старта. Каждый пример -- самостоятельный бот, который можно запустить.
- Получите токен бота на dev.max.ru
- Установите переменную окружения:
export MAX_BOT_TOKEN="your-token-here"
Демонстрирует основные возможности:
- Команды (
/start,/keyboard,/form) - Echo сообщений (повтор любого текста)
- Inline-клавиатура с обработкой callback
- FSM (форма с состояниями: имя и возраст)
poetry run python examples/echo_bot.pyДемонстрирует:
- Настройку WebhookManager с aiohttp-сервером
- Auto-reconnect (переподписка каждые 7.5 часов)
- Graceful shutdown по SIGINT/SIGTERM
WEBHOOK_URL=https://mybot.example.com/webhook poetry run python examples/webhook_bot.pyДемонстрирует:
- WizardScene с навигацией (next/back/goto)
- SceneRegistry для управления сценами
- Пошаговый сбор данных: имя -> возраст -> подтверждение
poetry run python examples/scene_bot.pyДемонстрирует:
- I18n с двумя локалями (ru, en)
- I18nMiddleware для автоматического определения локали
- gettext и lazy_gettext в хендлерах
- Переключение языка по команде
/lang
poetry run python examples/i18n_bot.pyДемонстрирует:
- Два экземпляра Bot с разными токенами
- Общий Dispatcher,
dp.run_polling(bot1, bot2) - DI: хендлер получает правильный bot автоматически
MAX_BOT_TOKEN_1=xxx MAX_BOT_TOKEN_2=yyy poetry run python examples/multibot.pyДемонстрирует:
- Error observer через
router.error() - ExceptionTypeFilter для фильтрации по типу исключения
- ErrorEvent с доступом к исключению и оригинальному update
- Намеренные ошибки для демонстрации (
/error,/crash)
poetry run python examples/error_handling.py