Как ограничить кол-во запросов к телеграм боту и обеспечить нормальный поток сообщений?
Есть написаный телеграм бот, его функция довольно проста, расшарить свой номер телефона на который зареган телеграм, чтобы подтвердить аккаунт на сайте.
Так вот, его написали так, что он принимает сообщения и тут же отдает ответ клиенту.
Его заспамили, то есть ему прислали столько сообщений, что телеграм блокирует запросы которые посылает сайт, чтобы ответить клиенту, присылает ответы через 1-2 часа клиенту.
У телеграм ботов есть лимит на кол-во запросов, в секунду не более 30 клиентам, если я правильно прочитал faq.
Может ли быть здесь легкое решение какое-то ?
Записывать в редис клиента и сколько он сделал запросов в минуту ? Если более 10, то не отвечаем ему ?
Но тогда могут заспамить множеством клиентов.
Ну тогда писать в лог сколько было всего отправлено ответов и если превысили лимит, то бот не отвечает.
Записывать в редис клиента и сколько он сделал запросов в минуту ? Если более 10, то не отвечаем ему ?
Но тогда могут заспамить множеством клиентов.
Ну так ограничивайте по формуле 1 запрос в Х сек, чтобы клиент разом не выс... выплюнул 10 запросов, что по факту всё равно нагрузит систему, и не ждал минуту в кулдауне.
Ну или ещё лучше - отсеивайте номера стран которые не совпадают с регионами вашей ЦА.
User, То есть записывать время последнего отправленного сообщения и если с тех пор прошло например 1 секунд, то можем отправить ответ клиенту, если прошло менее 1 секунд, то ничего не отвечаем ?
Если клиенту не было ответа, то он должен еще раз нажать например кнопку, верно понял ?