Как сделать так, чтобы некоторые команды бота работали только в некоторых каналах Discord - PullRequest
0 голосов
/ 17 июня 2020

Я впервые использую js. Мне нужно забанить определенное слово в определенном канале. Я не хочу, чтобы сообщение удалялось, если оно не находится в указанном c канале.

Например:

Я хочу запретить слово «до свидания» в #greeting канал НО Я не хочу запрещать слово "до свидания" в канале #farewell

Как мне go об этом?

Спасибо. Кстати, я хотел использовать пример кода, но все это не имело смысла.

1 Ответ

0 голосов
/ 17 июня 2020

Я написал вам простой пример того, как этого добиться:

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);
...