TypeError:mention.send 不是函数 - discord.js
Posted
技术标签:
【中文标题】TypeError:mention.send 不是函数 - discord.js【英文标题】:TypeError: mention.send is not a function - discord.js 【发布时间】:2020-12-31 14:39:27 【问题描述】:我一直在尝试编写这个不和谐机器人来通过 DM 向某个人发送消息。它应该工作的方式是:
tb!send @usernamehere Hi
然后这应该向@usernamehere
发送一条DM消息,说“嗨”。但相反,我收到一条错误消息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!');
);
【问题讨论】:
【参考方案1】:改变
let mention = message.mentions.users.first().id;
到
let mention = message.mentions.users.first();
【讨论】:
【参考方案2】:您可以选择使用 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)
,因此它适用于所有没有空格的前缀。
【讨论】:
以上是关于TypeError:mention.send 不是函数 - discord.js的主要内容,如果未能解决你的问题,请参考以下文章