我一直在尝试编写这个不和谐的机器人代码,以便通过DM向某个人发送消息。它应该工作的方式是:tb!send @usernamehere Hi然后这应该发送一个DM消息到@usernamehere说,"Hi“。但是,我得到了一个错误,说的是TypeError: mention.send is not a function。下面是我的代码:
client.on('message', (message) => {
var msg = message.content.toLowerCase();
if (message.author.bot) return;
let mention = message.mentions.users.first().id;
if (msg.startsWith(prefix + 'send')) {
console.log('ok');
if (mention == null) return;
message.delete();
var mentionMessage = message.content.slice(8);
mention.send(mentionMessage);
message.channel.send('done!');
}
});发布于 2020-09-14 04:26:37
变化
let mention = message.mentions.users.first().id;至
let mention = message.mentions.users.first();发布于 2020-09-14 05:11:34
您可以选择使用id或提及
ID
let mention = message.mentions.users.first().id;
if (msg.startsWith(prefix + 'send')) {
console.log('ok');
if (mention == null) {
return;
}
message.delete();
mentionMessage = message.content.split(' ').slice(1);
client.users.cache.get(mention).send(mentionMessage);
message.channel.send('done!');
}或者提到
let mention = message.mentions.users.first();
if (msg.startsWith(prefix + 'send')) {
console.log('ok');
if (mention == null) {
return;
}
message.delete();
mentionMessage = message.content.split(' ').slice(1);
mention.send(mentionMessage);
message.channel.send('done!');
}此外,我将message.content.slice(8)更改为message.content.split(' ').slice(1),以便它可以处理所有没有空格的前缀。
https://stackoverflow.com/questions/63874737
复制相似问题