如何利用机器人实现一个“白名单”系统,只允许特定用户发言?

老舒荣老舒荣06月16日701

做电报群营销经常被水军刷屏?想给电报群机器人设置一个白名单只允许白名单内的用户发言,有大佬指导一下怎么设置嘛?

2 个回答

资睿广
资睿广回答于 06 月 16 日
最佳答案

1. 创建一个机器人,通过 BotFather 创建 Token 并授权管理员权限。

2. 编写逻辑代码(Python可用python-telegram-bot库),监听所有消息事件。

3. 消息处理函数中添加判断,发信人id不在白名单数组中时调用delete_message接口删除消息。

4. 提供添加/移除白名单成员的命令。例如发送 /add ID 或 /remove ID 到机器人。

5. 将机器人设置为群管理员,并且拥有删除消息的权限,注意每次修改白名单后都需要重启机器人使配置生效。

实际部署时建议搭配Heroku平台,保证7x24小时在线,该方案可以防止陌生人灌水,无法防止白名单用户相互灌水。

储安筠
储安筠回答于 06 月 16 日

Telegram机器人白名单发言的实现步骤主要有:

1. 机器人拉取群成员列表,收集用户ID

2. 配置机器人监听新消息事件

3. 收到消息后判断发送者ID是否在白名单

4. 非白名单,机器人删除信息并@提醒

5. 白名单管理通过管理指令增删用户

机器人权限需要打开"Delete Messages"和"Manage Chat Members"。实际开发建议用Python的python-telegram-bot库,message_handlers过滤消息就可以。具体代码实现可以私下我给你提供样例。

您的答案