我爲服務器做了一個簡單的引用bot,但管理員只希望mod +人員能夠添加引號以避免垃圾郵件。我去了文檔,並做了一切,但我無法得到這個工作。這是我有:找出是否有人有角色Discord.Js
//other code
else if (command === "addquote" && arg) {
let adminRole = message.guild.roles.find("name", "Admin");
let modRole = message.guild.roles.find("name", "Mod");
if(message.member.roles.has(adminRole) || message.member.roles.has(modRole)){
const hasArr = arr.some((el) => {
return el.toLowerCase().replace(/\s/g, '') === arg.toLowerCase().replace(/\s/g, '');
});
if(hasArr){
message.channel.send(arg.replace(/\s+/g,' ').trim() + " is already a Quote");
} else {
fs.appendFileSync('./Quotes.txt', '\r\n' + arg);
message.channel.send("Quote added: " + arg);
arr.push(arg);
}
}
}
這是非常挑剔。有時候,如果用戶具有mod角色,大部分時間都不會運行,那麼這種方式就會起作用。如果我做
console.log(message.memeber.roles.has(adminRole));
console.log(message.memeber.roles.has(modRole));
兩者都會輸出爲false,但會起作用嗎?老實說,我現在不知道這一點。
我將對此進行測試,當我回家,太感謝你了! –