我正在尝试为我的 Discord 服务器和我的 Discord 机器人实现向许多用户发送 PM 消息的可能性。
我创建了这样的东西:
client.on("message", message => {
mentiondm = message.mentions.users.first();
mentionMessage = message.content.slice(22)
mentiondm.send(mentionMessage);
console.log('Message Sent!')
})
它适用于第一个提到的用户,正在发送消息,但存在几个问题:
Cannot read property 'send' of undefined
message.mentions.users
更改为 message.mentions.roles
,但没有发送消息。有没有办法更好地完成我的功能,或者至少升级我这里的功能以使其正常工作?
答案 0 :(得分:3)
这是因为它也试图从机器人的消息中获取第一个提到的用户。检查消息作者是否是机器人,如果是,则不要发送消息。
另外,尝试检查是否有人提及,如果没有,只需返回。
client.on('message', (message) => {
if (message.author.bot) return;
let mentionDM = message.mentions.users.first();
if (!mentionDM)
return console.log('No mentioned user');
let mentionMessage = message.content.slice(22);
mentionDM.send(mentionMessage);
console.log('Message Sent!');
});