TG 机器人源码怎样实现对特定消息的自动删除?

我做了一个TG机器人,如何让它自动删除特定消息?例如用户发送特定关键词就删除。需要怎么写代码或设置?

5 个回答

偶尔病娇少女心
偶尔病娇少女心回答于 09 月 20 日
最佳答案

TG机器人自动删消息,这在Telegram Bot API中是可行的。

1. 机器人必须是群组管理员,且有删除消息权限。

2. 监听用户消息,判断是否含有你设置的关键词,是则用deleteMessage删除。

具体实现取决于你使用的语言,例如Python可以使用python-telegram-bot库,监听message事件并进行处理。

需要注意的是,机器人只能删除自己发送的消息,用户发送的消息,机器人只能删除自己在48小时内接收到的。所以关键词过滤+权限配置是关键。

拥你轻轻入怀
拥你轻轻入怀回答于 09 月 26 日

先监听用户消息事件,然后判断消息里是否包含指定关键词。

如果命中关键词,就用 Telegram 的 deleteMessage 方法删掉该消息。

代码部分主要用 bot.on('message', ...) 来处理逻辑,注意消息权限和机器人权限。

举个例子,用户发“敏感词”就删,可以这样写:

bot.on('message', (msg) => {

if(msg.text.includes('敏感词')){

bot.deleteMessage(msg.chat.id, msg.message_id);

}

});

记得给机器人开删除消息权限,并且机器人在群组里要有管理员权限。

佛丽芳
佛丽芳回答于 09 月 27 日

要实现TG机器人自动删消息,核心是:监听消息+判断关键字+调用API删消息。

具体步骤如下:

1. 通过Bot API监听用户发来的消息,获取消息内容。

2. 判断消息是否包含你设置的关键字(例如“垃圾”、“敏感词”等)。

3. 匹配成功,调用deleteMessage方法,传入chat_id和message_id即可。

注意:机器人必须是管理员才能删除群聊消息。

此外,TG的API对删除他人消息权限控制较严格,建议先测试再上线。

宗典丽
宗典丽回答于 09 月 27 日

首先,你要监听用户的消息事件,判断是否有包含指定关键词的消息。

如果有,调用 Telegram 的 deleteMessage API 删除对应的消息即可。

具体实现方式取决于你使用的开发语言和框架,比如 Python 可以使用 python-telegram-bot 库。

记得给机器人管理员权限,并开启删除消息功能。

关键词匹配建议加上大小写不敏感和模糊匹配,防止漏删。

枚秋白
枚秋白回答于 09 月 28 日

在TG机器人中实现自动删除指定消息,关键是监听消息并匹配关键词。具体步骤如下:

1. 用Telethon或Pyrogram等库创建机器人并授权监听消息;

2. 接收到消息后,判断是否为用户发送(非机器人);

3. 检查消息内容是否包含预设的敏感词;

4. 若满足条件,则调用Telegram API的delete_messages方法删除消息。

注意:机器人必须拥有删除消息的权限,且在群组或频道中被管理员赋予该权限。另外,删除消息功能一般只能删除一定时间内的消息(比如48小时),超过时间则无法删除。

代码大致如下:

```

if user_message.contains("敏感词"):

bot.delete_message(chat_id, message_id)

```

当然,真实代码会更复杂一些,比如要获取chat_id、message_id等参数。

希望对你有帮助。

您的答案