电报防广告机器人 telegram antispam bot 相关功能 查询群组最近的消息 统计发言账号的ID
上一期我们实现了 第一次发言 人机验证 的机器人.

那么就带来了这样一个需求:
我这个群已经有了很多群友.
天天发言, 也能看出来都不是机器人.
但是我把这个第一次发言人机验证的机器人一拉进群里. 那每个人在这个时间点之后的第一次发言之前都要验证一遍了. 这样会给这些群友带来不必要的麻烦.
当然, 这个项目本身也提供了一个验证列表文件 valid.yaml 你是可以手动添加群友的 userid 的.
其中, 只有userid是有效的, 其它信息是辅助人类管理这个文件用的, 不参与程序的逻辑判断.
所以, 你可以手动添加群友的userid进去. 就像这样:
所以, 本文要解决的需求就变成:
查询群组最近的消息 统计发言账号的ID
还是用GPT开发
查询一个telegram群组中的最近 1000 条消息.将发消息的telegram账户的userid统计出来这个群组可能是公开群组, 也可能是不公开群组
这次就必须用到 Telethon 库了, 也就需要用到 api_id, api_hash 需要到 https://my.telegram.org/apps 去申请
上传到 Github
运行效果
共统计到 85 个用户3919325105612162712504377293872872271036989120610...略
从这样的结果到 valid.yaml 还需要你自己做一些小小的工作.
为了符合yaml文件格式, 每个id的后面还要加上冒号:

我考虑到本项目本身作为一个单独项目的意义, 所以没有在输出中加上冒号.
如果你觉得有必要, 你自己修改一下程序, 加上这个冒号的输出是很容易的事情.
后记
如果你是私有群(比如ID是 1231231231), 在使用本项目时, 修改文件中的ID为 -1001231231231
但是执行时报错.那么, 你可以选择以下方案之一:
1. 直接使用你群组的ID, 1231231231
2. 将你的私有群设置为公开群, 保存. 再设置为私有群.你会发现群ID发生变化, 比如, 变为 4564564564





评论
发表评论