Discord.js sending message in a specified channel using a command handler btw

Viewed 39

I am trying to make the code in this video where it sends messages to different channels but when I do destination.send(“message”), it says that destination is not defined when I define it in the line above let destination = client.channels.fetch('11223344556677');

My code is:

const Discord = require("discord.js");
const client = new Discord.Client({ intents: ["GUILDS", "GUILD_MESSAGES", "GUILD_MESSAGE_REACTIONS"], partials: ["MESSAGE"] });
module.exports = {
    name: "stop",
    description: "this stops the server!",
    execute(message, args) {
        if (message.member.roles.cache.has("112233445566778899")) {
            let destination = client.channels.fetch("112233445566778899");
            if (destination) {
                destination.send("stop");
            }
        }
    }, //else {
    //message.channel.send("I see you don't have the correct permissions");
};
//}

client.login("112233445566778899");

what I am trying to do is have a command !stop where it sends stop into a channel with the channel id.

1 Answers

I think channels.fetch is not working in your discord.js version. Try my code below:

const Discord = require("discord.js");
const client = new Discord.Client({ intents: ["GUILDS", "GUILD_MESSAGES", "GUILD_MESSAGE_REACTIONS"], partials: ["MESSAGE"] });
module.exports = {
    name: "stop",
    description: "this stops the server!",
    execute(message, args) {
        if (message.member.roles.cache.has("role_id")) {
            let destination = client.channels.cache.get("channel_id");
            if (destination) {
                destination.send("stop");
            }
        }
    },
};

client.login("bot_token");
Related