电报防广告机器人 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
如果你在使用第一个工具时登录了账户, 那么继续使用其它工具时就不用登录账户了, 就像是你第二次使用同一个工具时一样.

评论

The Hot3 in Last 7 Days

极简一键脚本 自定义端口NaiveProxy与Caddy V2前置的VLESS/Vmess V2Ray共存 可开CDN

酒馆SillyTavern 玩英文角色卡 也能以中文输出 设置世界书Lorebooks