如何让我的 Discord 机器人通过回复池中的回复回复特定消息?

时间:2021-02-02 23:39:32

标签: javascript discord discord.js bots

几乎全部在标题中。我希望我的机器人从回复池中随机回复一个回复。这是我目前所拥有的:

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

bot.on('ready', () =>{
    console.log('Just Chillin');
    bot.user.setActivity('Working' , { type: 'BotOn'}).catch(console.error);

}); 

function randomMessage(){
    var randomNumber = Math.round(Math.random()*2); // 0, 1 or 2
    switch(randomNumber){
        case 0: return 'Hello!';
        case 1: return 'Hi!';
        case 2: return 'Hola';
    }
}

bot.on('message' , message => {
    if(message.content.toLowerCase().includes('ping'))
        message.reply('pong')
    else if(message.content.toLowerCase().includes('Hello'))
            message.reply(randomMessage());
});

另外,我在 Java 方面没有太多经验,只有 R,所以我也想知道你会把第一块代码放在哪里。你会把它放在 bot.on('message', message=> 的下方还是上方?此外,当我输入该代码时,没有任何反应,其他一切运行正常。

先谢谢你。对于我缺乏 Java 知识,我深表歉意。

1 个答案:

答案 0 :(得分:0)

当我想随机选择一条消息(比如 8ball)时,我总是这样做:

定义不同的选项:

let options = ["Hey", "Hello there!", "Hey, it's me!", "NOT NOW IM BUSY"];

随机选择一条消息:

let result = options[Math.floor(Math.random() * options.length)];

记录结果:

console.log(result);