python 如何让我的discord.py机器人程序删除在特定通道上发送的每一条消息?

gg58donl  于 2022-12-28  发布在  Python
关注(0)|答案(1)|浏览(119)

我正在做一个不和谐机器人,它的功能之一是删除特定频道上发送的消息。
我搜索并找到了一些教程视频,最接近我得到的是这个:

@bot.event
async def on_message(message):
    if str(message.channel) == "channelID" and message.content != "":
        await message.delete_message()

问题是这是2年前的一个视频,所以我想这应该是在旧版本的www.example.com上完成discord.py,因为这段代码对我来说不起作用(它没有给予任何停止机器人表单运行的错误,但没有做预期的事情)。有人知道如何在最新版本的discord.py上正确地完成它吗?

5gfr0r5j

5gfr0r5j1#

更改这两个部分:
str(message.channel) == "channelID"message.channel.id == channelID(如果需要,可以将通道ID转换为字符串进行比较)
await message.delete_message()await message.delete()
确保已启用所需的Intent,并且您的机器人程序具有删除消息的权限。

相关问题