我已经浏览了一些教程和页面,但找不到工作版本来检查作者是否具有适当的角色。
我上次尝试的代码:
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);
谁能举个例子来说明我如何查询角色?
答案 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
})