电报防广告机器人 telegram antispam bot 第一次在群内发言时需要人机验证
现在有很多广告机器人, 在第一次加群时通过了验证, 然后一直不发言. 直到某天晚上开始发广告信息.
经过一些调试, 解决了一些小问题后.
所以我想, 如果在群成员第一次发言时加上一个人机验证, 是不是可以大幅改善这个问题?
让我们使用GPT开发.
实现这样一个telegram机器人当群组成员发消息时, 检测是不是 已验证成员如果不是 已验证成员, 那么:将 该成员 禁言将 消息 转发到 仓库频道 保存将 消息 从群组中 删除在群组中发消息提醒 该成员 在与机器人的私聊中完成人机验证通过人机验证后, 从仓库频道将 保存的消息 转发到刚刚的群组中.其中, 已验证成员 的 telegram userid 保存在一个 valid.yaml 中.为了方便管理, 与 userid 同步保存 username 和 fullname但是 username 和 fullname 不作为判断依据, 只是为了方便人类管理此文件.其中, 人机验证 过程是机器人提出一个问题, 用户以文本回复.
生成的代码量比前一个项目要多多了, 达到了500多行之巨!
阅读全新的项目要多费好多脑细胞啊!
而且, 也没有利用上前一个项目的 pset 设计. 嗯, 不好.
所以我们这样, 先把前一个项目的代码全部复制粘贴进去. 再把刚刚的需求写上, 让GPT生成.
这样生成的代码就只是新增了一些逻辑. 阅读起来难度低多了.
提交 Github
部署方法见 项目 Readme
========
效果
========
后记
本项目与 前一个项目 的 pset 是完全一样的定义.
所以这两个项目可以放在同一个目录下运行, 这样可以共用 pset 目录下的生成 问题-回答 的 .py 文件.
root@rn-TEST:~/tg-antispam-bot# tree.|-- logs| |-- tg-join-group-exam-bot-0_20251006.log| `-- tg-send-msg-exam-bot-0_20251006.log|-- pset| |-- blog.py| |-- rss.py| `-- youtube.py|-- tg-join-group-exam-bot-0.py|-- tg-send-msg-exam-bot-0.py`-- valid.yaml
评论
发表评论