“在频道聊天中未定义为outuput

时间:2019-10-11 18:47:39

标签: javascript discord.js

im当前正在尝试从discord.js开始。 我做了我的第一个机器人,我试图做一些基本的事情。 自动回复后,我在频道聊天中出现某种不确定的情况。 如果有人能弄清楚为什么会发生,那就太好了。

bot.on('message', function (user, userID, channelID, message, evt) 
{
    if (message.substring(0, 1) == '!') {
        var args = message.substring(1).split(' ');
        var cmd = args[0];

        args = args.splice(1);
        switch(cmd) {
            // !ping
            case 'ping':
                bot.sendMessage
                ({
                    to: channelID,
                    message: 'pong'
                });
                break;
            case 'hello':
            if (channelID == 632276762436567060)
            {   
                bot.sendMessage
                ({
                    to: channelID,
                    message: 'Check private message'+
                    bot.sendMessage
                    ({
                      to: userID,
                      message: 'hello'  
                    })   
                })
            };
                break;
            default:
                bot.sendMessage
                ({
                    to: channelID,
                    message: 'Unknown Command'
                });         


         }

MeToday在晚上8:05 !你好 星期六晚上8:05 检查私人消息未定义

1 个答案:

答案 0 :(得分:1)

您正在呼叫bot.sendMessage,将结果添加到另一个sendMessage呼叫的消息中。它在消息中包括“ undefined”,因为这是对bot.sendMessage的内部调用的返回值。

相反,您应该将to: userID sendMessage移出另一个。

更改此部分:

bot.sendMessage
({
    to: channelID,
    message: 'Check private message'+
    bot.sendMessage
    ({
      to: userID,
      message: 'hello'  
    })   
})

对此:

bot.sendMessage
({
    to: channelID,
    message: 'Check private message' 
});

bot.sendMessage
({
    to: userID,
    message: 'hello'  
});