(节点:2824)UnhandledPromiseRejectionWarning:ReferenceError:角色未定义

时间:2020-08-02 02:34:50

标签: javascript node.js discord discord.js

我正在尝试使我的Discord机器人再次正常工作,但是他已经过时了,并且在旧版本中可以工作,但是我在其他文章中也看到过要完成这项工作,我需要放member.role.add,但是在这里我放了来自let role = message.mentions.roles.first();

if (comando === "addrole") {
    if (!message.member.roles.some(r => ["✨Pequeno Chefinho✨", "✔️Micro Chefinho✔️"].includes(r.name)))
        return message.reply("Desculpe, você não tem permissão para usar isto!");
    let member = message.mentions.members.first();
    if (!member)
        return message.reply("Por favor mencione um membro válido deste servidor");
    let role = message.mentions.roles.first();
    if (!role)
        return message.reply("Por favor mencione uma role deste servidor.")
    await member.addRole(role).catch(console.error);

1 个答案:

答案 0 :(得分:0)

您需要更改以下内容:

message.member.roles.some()
// to
message.member.roles.cache.some()
member.addRole()
// to
member.roles.add()

修改后的代码

if (comando === "addrole") {
    if (!message.member.roles.cache.some(r => ["✨Pequeno Chefinho✨", "✔️Micro Chefinho✔️"].includes(r.name)))
        return message.reply("Desculpe, você não tem permissão para usar isto!");
    let member = message.mentions.members.first();
    if (!member)
        return message.reply("Por favor mencione um membro válido deste servidor");
    let role = message.mentions.roles.first();
    if (!role)
        return message.reply("Por favor mencione uma role deste servidor.")
    await member.roles.add(role).catch(console.error);

有关更多信息,请阅读Discord.js migration guideDiscord.js docs