如何设置机器人,禁止用户在短时间内发送大量消息(刷屏)?

良和悌良和悌06月16日1256

最近老有人用我们的Telegram机器人发广告刷屏了,群都炸了,怎么限制用户短时间内不能发太多消息啊?求大佬支教!

3 个回答

蒿霓云
蒿霓云回答于 06 月 16 日
最佳答案

Telegram机器人防刷屏的方法有这些:

1. 通过rate limit限频。在代码里设置每分钟接收消息上限,超过就拦截。如Python的aiogram框架有内置限频功能。

2. 增加验证码。用户第一次发消息时,先回复一个验证码验证,验证通过才能进行聊天。可以过滤掉自动脚本。

3. 设置关键词黑名单,把常见的广告词、链接等列在黑名单里,发现自动踢出群或者禁言。要定期更新关键词。

4. 采用第三方风控。SpamProtectionBot这样的官方工具可以自动化风控,比自己开发方便太多。

实际部署建议组合使用,比如限频+验证码,可以实现更好的效果。具体代码实现中如有问题可再问。

李向卉
李向卉回答于 06 月 18 日

设置反刷屏的方法有:

第一,使用TG原生的「限速功能」,例如 /setflood 命令限制一分钟发言数量。

第二,在机器人代码中加入判断机制,比如使用时间戳记录发言时间,超频发言暂时禁言。

第三,通过第三方库 pyrogram 的 flood_wait 机制进行拦截。

温馨提示:敏感词过滤和新用户观察期也能起到控制刷屏的作用,实际应用时测试一下阈值别误伤了正常用户。

祢瀚玥
祢瀚玥回答于 06 月 18 日

防止Telegram机器人刷屏,你需要注意这几个方面:

1. 设置消息频率,如每分钟最多5条消息,超过则屏蔽。

2. 开启关键词过滤,屏蔽广告常用语。

3. 要求新用户完成简单的验证操作,比如点击按钮或回复指定内容等。

4. 采用第三方反骚扰插件,比如Antispam Bot等工具。

具体操作可以去BotFather查对应参数或二次开发,定期更新黑词库,效果会更明显。

您的答案