как отправить случайное сообщение от бота Discord? - PullRequest
0 голосов
/ 03 августа 2020

У меня возникли проблемы с попыткой заставить моего бота Discord отправить случайное сообщение. По какой-то причине мой код не работает. Когда пытаюсь запустить, пишет "сообщение не определено". Я новичок в программировании, и ответ, вероятно, очень прост. Вот мой код для части randomMessage:

const messages = ['message one', 'message two', 'message three', 'message four'];

const randomMessage = messages[Math.floor(Math.random() * messages.length)];

Это команда, когда кто-то говорит (префикс) random, он будет в основном go в файл с именем «random».

...
else if(command === 'random')
  client.commands.get('random').execute(message, args);
...

и в этом файле имя команды, описание, а также указание боту отправить (randomMessage), который должен выбрать одно, два, три или четыре сообщения?

module.exports= {
    name: 'random',
    description: 'send a randomised message.',
    execute(message, args){
        message.channel.send(randomMessage)
    }
}

Если кто-нибудь знает мою ошибку, я хотел бы ее услышать. Спасибо!

1 Ответ

2 голосов
/ 03 августа 2020

Вам необходимо поместить код в random командный файл:

module.exports = {
    name: 'random',
    description: 'send a randomised message.',
    execute(message, args) {
        const messages = ['message one', 'message two', 'message three', 'message four'];
        const randomMessage = messages[Math.floor(Math.random() * (messages.length - 1))];

        message.channel.send(randomMessage);
    }
}

Если вы хотите, чтобы случайное сообщение определялось при запуске и не изменялось, пока бот активен, вы можете поместить код вверху файла:

const messages = ['message one', 'message two', 'message three', 'message four'];
const randomMessage = messages[Math.floor(Math.random() * (messages.length - 1))];

module.exports = {
    name: 'random',
    description: 'send a randomised message.',
    execute(message, args) {
        message.channel.send(randomMessage);
    }
}
...