TypeError:无法读取null的属性“角色”(当dm成为机器人时)

时间:2019-06-11 15:27:16

标签: node.js discord.js

嗯,我有问题。 当我输入频道时,代码正常工作,但是当我直接向bot提示时,会收到该控制台错误...

有没有办法弄清楚?

我确实尝试添加.author,但无法正常工作

let guild = client.guilds.get(471XXXXXXXX4111);  
let membersWithRole = message.guild.roles.get(guild);
if(message.member.roles.some(r=>[config.Roles[1].Role1, "Mod", "Server Staff", "Proficient"].includes(r.name))) { 'SOME SHIT '});
} else {
  console.log(`Not authorized!!` + message.author.tag);
  message.channel.send(`U need to be an admin to preform this action`);
}```

1 个答案:

答案 0 :(得分:0)

在执行命令之前,您可以使用Message.guild返回的布尔值检查消息是否是在公会中发送的,如果不是,则返回该消息。

if (!message.guild) return;

编辑:

如果要在DM中继续使用该命令,则必须在所需的公会中获取该成员。

const guild = client.guilds.get('id');

const member = message.member || guild.members.get(message.author.id);
if (!member) return; // Check if the member isn't in the guild at all.

// Continue on with your code, using the 'member' variable.