Шаблон для написания телеграмм ботов с помощью aiogram 3.x.
В config.settings.THROTTLES определите ключ с значением (кол-во сообщений)/(время)
Например 5/1s 5 сообщений в секунду
Например 1/1min 1 сообщение в минуту
После чего оберните handler в декоратор rate_limit и укажите ключ, определенный в config.settings.THROTTLES
В bot.middlewares.MessageThrottlingMiddleware._process_message_throttling вы можете определить поведение бота на флуд, например замутить пользователя в чате.
При исчерпании лимитов update не дойдет до handlers, а "прибьется на уровне middleware"
Оберните свой хендлер в декоратор rate_limit
Токены бота Telegram, разделенные запятыми
Примеры:
- TELEGRAM_BOT_TOKENS=1:qwerty
- TELEGRAM_BOT_TOKENS=1:qwerty,2:qwerty
Создайте файл .env и заполните его по примеру из файла .env.example. Так же вы можете просто пробросить эти переменные через переменные окружения.
poetry install && poetry shell
python main.py
Создайте файл .env и заполните его по примеру из файла .env.example. Так же вы можете просто пробросить эти переменные через переменные окружения.
docker build -t telegram-bot .
docker run telegram-bot