PKBlusTF2
PKBlusTF2

Reputation: 21

How do I fix my discord bot (in discord.js) not responding to my commands

I've been trying to get my discord bot to work, but it will only become online on discord and say that it's online in the console. What am I doing wrong

here's the code from my index.js

const Discord = require('discord.js')
const client = new Discord.Client({ partials: ["MESSAGE", "CHANNEL", "REACTION" ], intents: ["GUILDS", /* Other intents... */]});
const token = '(token here)';
client.login(token);

client.on('ready', () => {
    console.log('I ARRIVE FROM THE ASHES OF THE EARTH');
});

client.on('message', message => {
    if (message.content === 'Hello') {
        message.send('I HAVE A GUN');
    }
});
client.on('disconnect', () => {
    console.log('ZE POPCORN IS DEAD');
});

const prefix = '-'; 
client.on('message', message => {
    if (message.content === prefix + 'ping') {
        message.send('Gun').then(message => message.edit('Pong'));
    }
});
client.on('message', message => {
    if (message.content === prefix + 'shutdown') {
        if (message.author.id === '262707958646901248') {
            message.send('Shutting down...').then(message => client.destroy());
        }
    }
});
client.on('message', message => {
    if (message.content.startsWith(prefix)) {
        const args = message.content.slice(prefix.length).split(/ +/);
        const command = args.shift().toLowerCase();
        if (command === 'ping') {
            message.send('Gun');
        }
    }
});
client.on('message', message => {
    if (message.content === prefix + 'help') {
        message.send('figure it out I guess?');
    }
});
client.on('message', message => {
    if (message.content === prefix + 'info') {
        message.send('I made this bot when popcorn "died". I hope you enjoy it.');
    }
});
client.on('message', message => {
    if (message.content === 'ping') {
        message.send('https://tenor.com/view/heavy-tf2-the-rock-rock-the-rock-the-dwayne-johnson-gif-22149531');
    }
});

I tried all the commands that I put in and such, but it didn't do anything.

Upvotes: 0

Views: 748

Answers (1)

Kaspr
Kaspr

Reputation: 1616

Code needs a fair bit of work, primarily in organization. Also please take a minute to get familiar with this entire site as all the different elements of this are here and it is a tool you will use often.

discord v13 https://discord.js.org/#/docs/discord.js/v13/general/welcome

discord v12 https://discord.js.org/#/docs/discord.js/v12/general/welcome

const Discord = require('discord.js')
const client = new Discord.Client({
    partials: ["MESSAGE", "CHANNEL", "REACTION"],
    intents: ["GUILDS", "GUILD_MESSAGES" /* Other intents... */ ] // make sure GUILD_MESSAGES is in there
});
const prefix = '-';
const token = '(token here)';
client.login(token);

client.on('disconnect', () => {
    console.log('ZE POPCORN IS DEAD');
});

client.on('ready', () => {
    console.log('I ARRIVE FROM THE ASHES OF THE EARTH');
});

client.on('message', async message => { // add async
    const content = message.content.toLowerCase() // For readability

    // message.send will not work, it needs to be either message.channel.send() or message.reply()

// these will work without prefix

    if (content === 'hello') {
        message.reply('I HAVE A GUN');
    } else if (content === 'ping') {
        // Below will just send the link
        message.reply('https://tenor.com/view/heavy-tf2-the-rock-rock-the-rock-the-dwayne-johnson-gif-22149531');
        // Below will send the attachment
        message.reply({
            attachments: 'https://tenor.com/view/heavy-tf2-the-rock-rock-the-rock-the-dwayne-johnson-gif-22149531'
        })
    }


// these will require the prefix

    if (content.startsWith(prefix)) {
        const args = message.content.slice(prefix.length).split(/ +/);
        const command = args.shift().toLowerCase();
        if (command === 'ping') {
            message.reply('Gun');
        } else if (command === 'shutdown') {
            if (message.author.id === '262707958646901248') {
                message.reply('Shutting down...').then(() => client.destroy()); // message not used, so not required
            } else {
                message.reply('Not allowed') // added else statement
            }
        } else if (command === 'help') {
            message.reply('figure it out I guess?');
        } else if (command === 'info') {
            message.reply('I made this bot when popcorn "died". I hope you enjoy it.');
        }
    }
});

Upvotes: 1

Related Questions