电报(Telegram)API 接入时,如何实现群聊的自动禁言功能?根据关键词触发?​

华寻菱华寻菱09月13日2466

我们用Telegram做推广,想在群里实现自动禁言,比如有人发广告或敏感词,就自动禁言,怎么用Telegram API实现?

4 个回答

陈思佳
陈思佳回答于 09 月 13 日
最佳答案

首先,Telegram API没有直接的自动禁言功能,但可以利用Bot+API来实现。

1. 创建一个Telegram Bot,拿到Token;

2. 用setChatMemberStatus方法设置用户权限为"restricted",实现禁言;

3. 用getUpdates监听消息,判断是否命中敏感词;

4. 建议用python-telegram-bot库,能简化开发;

5. 敏感词库自己维护,可做本地文件,或数据库查询。

注意,机器人只能管理群成员,不能管理管理员。另外,频繁调用API会被限速。这个功能适合小规模推广群,如果群多,得考虑分布式部署。代码逻辑写清楚,基本能跑起来。

镇秋柔
镇秋柔回答于 09 月 17 日

Telegram 本身没有官方公开的「自动禁言」接口,但你用 Bot + 群管理,也可以达到类似的效果。

1. 用 Bot 监控群消息,设置关键词过滤,检测到广告、敏感词就触发动作。

2. Bot 没权限直接禁言,但可以调用 Telegram API 的 ban 或 kick 接口,把人踢出群。

3. 配合群设置,开启「仅群管理员可发消息」,就可以控制发言权限。

4. 建议搭配第三方机器人,比如 Antispam、CleanerBot 等,辅助过滤。

Bot 要有管理员权限,但不能监控加密群(Secret Chat)。

东冰洁
东冰洁回答于 09 月 18 日

Telegram API 实现自动禁言的核心逻辑是:监听消息 -> 检测关键词 -> 禁言用户。实现流程如下:

1. 获取 Bot 权限

创建 Telegram Bot,通过 BotFather 获取 token,并将 Bot 加入目标群组。

2. 监听消息事件

使用 getUpdates 或 Webhook 监听群内消息,确保 Bot 可实时获取新消息。

3. 设置关键词库

构建敏感词列表,如“广告”、“联系方式”等。

4. 匹配与处理

检测消息是否含有敏感词,若有,则调用 banChatMember 将用户踢出并禁言。

5. 优化体验

增加白名单,避免误伤;支持自定义关键词,提高灵活性。

注意:Bot 需拥有管理员权限,并可删除他人消息。频繁操作可能触发反垃圾机制,建议合理控制频率。

本性难移ING
本性难移ING回答于 09 月 19 日

说白了,用 Telegram Bot API 就能实现自动禁言。

你需要先创建一个 Telegram Bot,并获取 Token。

在群组里添加这个 Bot 作为管理员,授予管理成员的权限。

写一段代码监听群里的消息事件。

如果检测到消息里含有关键词(比如广告、敏感词),就调用 Telegram 的 banChatMember 方法禁言用户。

Python 可以用 python-telegram-bot 库,Node.js 可以用 node-telegram-bot-api。

核心是消息过滤逻辑和 Bot 权限。

但是注意,Telegram 的 Bot 权限有限,有些操作需要人工操作。

另外,如果误判太多,会招来用户反感,建议关键词库合理设置。

您的答案