起因
本人在telegram(电报)上有一个交流群 tlanyan的博客,尽管用上了入群验证机器人,还是偶尔会看到垃圾信息,需要手动删除。今年以来明显感受到了垃圾用户正在污染群组和使用体验,如果某天没顾得上管理群组,可能就会看到类似刷屏的垃圾消息:

注意到这些垃圾消息名称中都带有特殊字符,从列表中看到的用户也类似,因此最初以为只要屏蔽掉名字中带有特殊符号的用户就OK了:

最初的想法是做一个简单的电报机器人,把通过了入群验证机器人的特殊用户封禁掉。后来通过抓包才知道,名字带有五角星的用户是premium用户,因此机器人演变成专杀premium用户的机器人!
tg-antispam项目
为了实现屏蔽垃圾用户和垃圾消息的目的,本人开发了tg-antispam机器人,项目代码已开源: https://github.com/tlanyan/tg-antispam。项目使用Go语言编写,经过一个多月的开发和迭代,这个机器人基本已经达到了可用的目的。
tg-antispam机器人支持如下功能:
1. 自动监控新加入群组的用户
2. 识别并限制可疑用户,同时发送通知给管理员
3. 监控群里的聊天消息,发现可疑消息封禁并通知管理员
4. 支持管理解禁和用户自行解禁
使用本项目建议自行部署,体验或直接使用可添加机器人 @justgodiebot 到群里并设置为管理员。如果希望收到封禁的消息提醒,请先与机器人互动一次,通知的效果为:
其它
1. 目前机器人实现的是简单的验证机制,因此建议配合其它入群验证机器人使用。如果没有入群验证机器人,本机器人也会限制新用户要求验证通过才能发言;
2. 项目添加了使用AI判断用户发送的是否垃圾消息,目前接入的是Google Gemini模型。经测试使用Gemini 2.0 Flash模型时,许多垃圾消息都被判断为正常消息,因此还需要使用更好的判断机制;
3. 其它问题欢迎留言反馈。
我有一个思路, 就是, 对于小群来说, 如果我设置一个这样的问题, 并要求输入文本回答.
“我的博客最新一期博文的标题是什么”
这样的问题对于广告人员来说, 解决它的成本已经高于发布广告得到的收益了.
很多广告账号都无法通过这个验证.
我建了一个入群验证机器人, 和一个首次发言验证机器人.
演示效果
https://www.youtube.com/watch?v=KKI_N6R_uGc
Github
https://github.com/crazypeace/tg-join-group-exam-bot
https://github.com/crazypeace/tg-send-msg-exam-bot
自用的可以这样做,更通用的做法是类似于qq可以设置自定义问题
😎