discord.js 无法读取未定义的属性“公会”

时间:2021-07-30 18:06:12

标签: javascript discord.js

我已经浏览了一些教程和页面,但找不到工作版本来检查作者是否具有适当的角色。

我上次尝试的代码:

const fs = require('fs');
const Discord = require('discord.js');
const {
  token
} = require('./config.json');

const client = new Discord.Client();

//functions
function loadServer() {
  server = getJ('./server.json');
}

function abnahme(message){
let charRole = message.guild.roles.find("name", "Character-Abnehmer");

if (message.content == 'accepted' && message.member.roles.has(charRole)) {
//code....
}else {
        return;
      }
}

//run

client.once('ready', () => {
  console.log('Ready!');
});

//events
loadServer();
client.on('message', message => {      
if (message.content.startsWith(server.prefix)) {

const args = message.content.slice(server.prefix.length).trim().split(/ +/);
const command = args.shift().toLowerCase();
    message.channel.send(`\`command: ${command} args: ${args}\``);

      if(command == 'abnahme'){
        abnahme(message);
      }
  }

});

client.login(token);

谁能举个例子来说明我如何查询角色?

1 个答案:

答案 0 :(得分:1)

查看成员是否具有角色的最简单方法是使用 GuildMember.roles.cache.has()

使用此代码

client.on('message', async msg => {
let memberHasRole = msg.member.roles.cache.has('role-id');
//true if member has the role, false if they don’t
})