我目前正在尝试从discord.js 开始。 我制作了我的第一个机器人,我正在尝试做一些基本的事情。 不知何故,在自动回复后,我的 channel 聊天中出现了未定义的信息。 如果有人能弄清楚为什么会发生这种情况,那就太好了。
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 !你好 BOT 今天晚上 8:05 查看私信未定义
最佳答案
您正在调用 bot.sendMessage
将结果添加到不同 sendMessage
调用的消息中。它在消息中包含“未定义”,因为这是对 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'
});
关于javascript - “未定义为 channel 聊天中的输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58346923/