电报防广告机器人 telegram antispam bot 相关功能 踢除群组Exceptions列表中没有发言权限的用户
有一些防广告机器人为了防止误踢用户, 只对未通过验证的用户设置了禁言, 并没有将用户踢出群组.
那么, 这些用户会在群组Exceptions列表中留下一条没有发言权限的记录.
再一次地, 用GPT开发.
参考上面的代码, 实现以下功能
在群组 的 permissions 的 exceptions 里检查所有的设置,如果某个用户没有发言权限, 则将这个用户踢出群组.
可以看到, 这样简单的项目, 完全不需要IDE开发工具, 也不需要氛围编程助手, 也不需要最新的模型. 随便找个GPT就行, 哪怕GPT-5的限额到了, 用GPT-4也足够了.
不过呢, 和前面博文中所述情况一样, 程序的大框架逻辑是正确的, 但是具体到 怎样将用户踢出群组, 调用的函数和参数会搞迷糊.
还是自己查一下官方文档.
最终效果
群组: test✅ 保留: 6611601789 (蛙 女) - 可发言🚫 踢出: 6701294471 (新 希望) - 无发言权限
完成检查,共检查 2 人,踢出 1 人
上传 Github
========
后记
我后面发布的这4个电报防广告机器人相关功能小工具都是基于telethon的. 相应的, 需要登录某个Telegram账户, 也就是说要输入一个手机号, 并完成验证过程.
对于这种偶尔使用的工具, 可以共用同一个Telegram账号.
我在代码中使用了同样的指定 session 的方法.
client = TelegramClient('session_' + phone_number, api_id, api_hash)
所以指定的session文件名是一样的. 也就是说这些工具可以共用一个session. 只要把这些工具放在同一个目录下.
root@rn-TEST:~/tg-antispam-bot-tool# tree ..|-- session_+8613812345678.session|-- tg-clean-exceptions-0.py|-- tg-get-group-member-0.py|-- tg-get-group-recent-msg-senderid-0.py`-- tg-kick-no-permission-user-0.py
如果你在使用第一个工具时登录了账户, 那么继续使用其它工具时就不用登录账户了, 就像是你第二次使用同一个工具时一样.
评论
发表评论