discord.js 如何删除所有频道中包含黑名单的消息

Posted

技术标签:

【中文标题】discord.js 如何删除所有频道中包含黑名单的消息【英文标题】:discord.js How to delete messages that contain blacklisted word in all channels 【发布时间】:2021-06-28 13:48:44 【问题描述】:

我正在尝试发出命令,从包含列入黑名单的单词的所有频道中删除消息。我不希望命令自行激活,但例如,当我在 bot 命令频道中写入 .delete 时,它​​会从所有频道中删除包含禁用词的消息。使用我的代码命令不会删除消息。这是我当前执行此命令的代码:

module.exports = 
    name:'delete',
    description: 'deletes all messages containing blacklisted word',
    async execute(message, args)
        const delete = await message.channel.fetch();
        if(message.content.includes('bad-word'))
            message.delete();
        
    

任何帮助将不胜感激

【问题讨论】:

【参考方案1】:

目前,您的代码正在获取您发送命令的通道(并且从未使用过结果),然后它会检查触发该命令的消息是否包含“坏词”。这不是你想要的。 您应该使用 TextChannel 的 messages 属性。它会给你频道的MessageManager。然后,您可以使用循环遍历消息并对每条消息进行检查。

【讨论】:

以上是关于discord.js 如何删除所有频道中包含黑名单的消息的主要内容,如果未能解决你的问题,请参考以下文章

如何删除 discord.js 服务器中的所有频道

如何在 DIScord.js 上批量删除频道?

如何让我的 Discord Bot 删除服务器中的所有频道

如何删除 Discord 服务器中的所有频道?

Discord.js 用于删除所有不是机器人命令的消息

从服务器中删除所有频道(语音和文本) - discord.js