使用我的验证机器人,该DM向用户DM,该用户以代码进行响应,并应该扮演一个角色。但是,它什么也不做,并发布此错误。
未捕获的承诺错误:
TypeError:member
不是函数
我尝试将users
更改为members
,反之亦然,而是在配置中定义了行会,角色等,但是没有一个能够解决错误。
client.on('message', async (message) => {
if (message.author.bot || !message.author.token || message.channel.type !== `dm`) return
if (message.content !== (verifymsg.replace('{token}', message.author.token))) return
message.channel.send({
embed: {
color: Math.floor(Math.random() * (0xFFFFFF + 1)),
description: completemsg,
footer: {
text: `Verification Success`
}
}
})
let member = message.mentions.users.first();
member(message.member).addRole(member.guild("528721525390442526").roles.find("name", "Member"));
})
我希望将一个角色添加到成员,使他们能够访问公会。
答案 0 :(得分:0)
您编写member(message.member)
的方式是告诉JavaScript使用参数member()
执行函数message.member
。您尚未在代码中的任何地方定义该函数,所以这就是它引发错误的原因。
您要使用Guild.member()
方法。
示例:
try {
const guild = client.guilds.get('528721525390442526');
const member = guild.member(message.author.id);
const role = guild.roles.find(r => r.name === 'Member');
member.addRole(role);
member.send('Verification successful.');
} catch(err) {
console.error(err);
}