MaG*_*0_o 5 api spam-prevention telegram-bot
我有一个电报机器人,对于收到的任何消息,它都会在服务器中运行一个程序并将其结果发送回去。但有个问题!如果用户向我的机器人发送太多邮件(垃圾邮件),它将使服务器变得如此繁忙!
有什么方法可以阻止每秒发送5条以上消息并且不再收到消息的人?(使用电报API!)
首先,我必须说Telegram Bot API本身不具有这种功能,因此您将需要自己实现它,而您需要做的就是:
每次漫游器收到消息时,它都必须运行数据库查询以查看发件人的chatID是否存在于Black_List表中。如果存在,它应该继续自己的工作并忽略该消息(或者甚至可以向用户发送警报:“您被阻止。”我认为这可能很耗时)。
请注意,据我所知,当前的电报bot API没有停止接收消息的功能,但是正如我上面提到的,您可以忽略垃圾邮件发送者的消息。
为了节省时间,您应该避免在漫游器每次收到更新(消息)时都建立数据库连接,而是可以将Black_List中存在的ChatID加载到DataSet中,并在插入新的垃圾邮件发送者后立即更新DataSet。 ChatID到Black_List表。这样,查询数量将明显减少。
| 归档时间: |
|
| 查看次数: |
5438 次 |
| 最近记录: |