tg-antispam:一个 telegram 反垃圾用户和垃圾信息机器人 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
tlanyan
V2EX    分享创造

tg-antispam:一个 telegram 反垃圾用户和垃圾信息机器人

  •  
  •   tlanyan 151 天前 1054 次点击
    这是一个创建于 151 天前的主题,其中的信息可能已经有所发展或是发生改变。

    起因

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

    telegram 垃圾消息

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

    telegram 垃圾用户

    最初的想法是做一个简单的电报机器人,把通过了入群验证机器人的特殊用户封禁掉。后来通过抓包才知道,名字带有五角星的用户是 premium 用户,因此机器人演变成专杀 premium 用户的机器人!

    tg-antispam 项目

    为了实现屏蔽垃圾用户和垃圾消息的目的,本人开发了 tg-antispam 机器人,项目代码已开源: https://github.com/tlanyan/tg-antispam 。项目使用 Go 语言编写,经过一个多月的开发和迭代,这个机器人基本已经达到了可用的目的。

    tg-antispam 机器人支持如下功能:

    1. 自动监控新加入群组的用户
    2. 识别并限制可疑用户,同时发送通知给管理员
    3. 监控群里的聊天消息,发现可疑消息封禁并通知管理员
    4. 支持管理解禁和用户自行解禁

    使用本项目建议自行部署,体验或直接使用可添加机器人 @justgodiebot 到群里并设置为管理员。如果希望收到封禁的消息提醒,请先与机器人互动一次,通知的效果为:

    antispam 机器人通知

    其它

    1. 目前机器人实现的是简单的验证机制,因此建议配合其它入群验证机器人使用。如果没有入群验证机器人,本机器人也会限制新用户要求验证通过才能发言。

    2. 项目添加了使用 AI 判断用户发送的是否垃圾消息,目前接入的是 Google Gemini 模型。经测试使用 Gemini 2.0 Flash 模型时,许多垃圾消息都被判断为正常消息,因此还需要使用更好的判断机制;

    3. 其它问题欢迎留言反馈。

    目前尚无回复
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2626 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 22ms UTC 09:22 PVG 17:22 LAX 02:22 JFK 05:22
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86