如何使某些机器人命令仅在某些不和谐的渠道中起作用

时间:2020-06-17 05:43:23

标签: discord discord.js

这是我第一次使用js。我需要禁止某个频道中的某个单词。我不希望该消息不在特定频道中被删除。

例如:

我想在#greeting频道中禁止“再见”一词
但是
我不想禁止#farewell频道中的“再见”一词

我将如何处理?

谢谢。
顺便说一句,我想使用示例代码,但是没有任何意义。

1 个答案:

答案 0 :(得分:0)

我为您编写了一个有关如何实现此目标的简单示例:

const Discord = require("discord.js");
const Client = new Discord.Client();

const ForbiddenWords = {
    "ChannelID": ["goodbaye", "bye"] // Greeting channel
};

Client.on("ready", () => {
    console.log(`${Client.user.tag} is ready!`);
});

Client.on("message", (message) => { // Fired when the bot detects a new message.
    if (message.author.bot) {return false}; // Checking if the message author is a bot.
    if (ForbiddenWords[message.channel.id]) { // Checking if the current channel has any forbidden words in the ForbiddenWords Object
        if (ForbiddenWords[message.channel.id].some(word => message.content.toString().toLowerCase().includes(word))) { // Checking if the message contains any forbidden words
             message.delete(); // Deleting the message.
        };
    };
});

Client.login(process.env.DISCORD_AUTH_TOKEN);