嗯,我有问题。 当我输入频道时,代码正常工作,但是当我直接向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`);
}```
答案 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.