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 检查私人消息未定义
答案 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'
});