Задать вопрос
@Python_LV

Защита от спама Телеграм бота в telebot?

Как можно реализовать защиту телеграм бота от спама в telebot? Так как если пользователь отправляет много запросов за короткое время - скрипт падает. Помогите новичку пожалуйста
  • Вопрос задан
  • 283 просмотра
Подписаться 2 Средний Комментировать
Решения вопроса 1
shurshur
@shurshur
Сисадмин, просто сисадмин...
Как-как, так же как и всегда: посмотреть, какое исключение возникает, отловить его и корректно обработать.

Например, пусть бот упал из-за ZeroDivisionError (ошибка деления на 0), тогда оборачиваем нужную часть бота или даже главный цикл бота в try ... except и как-то это разруливаем:

while True:
    try:
        bot.infinite_polling()
    except ZeroDivisionError:
        # чуть подождём, чтобы не было проблем, если падает слишком часто и быстро
        time.sleep(5)


Разумеется, не всегда имеет смысл так делать прям вокруг главной функции, иногда лучше обработать исключение непосредственно в обработчике, где оно возникло, можно даже предпринять какие-то действия, например, добавить вызвавшего сбой пользователя во временнй чёрный список, чтобы игнорировать сообщения от него.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@TKDBOT
Учу python. Готов к конструктивной критике.
Как вариант, можно записывать время последнего сообщения от юзера и если пришло сообщение через 30 сек при условном лимите в 2 минуты, то пишем "Пожалуйста не спамьте, пишите реже"
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы