到目前为止,这是我的代码。但是,这只适用于一台服务器。我希望它能在几个服务器上工作。我希望id通过必须具有特定名称的角色,但不幸的是,我只知道如何通过id添加/删除角色
bot.on('message', async message => {
let parts = message.content.split(" ");
if(parts[0].toLocaleLowerCase() == '!rules') {
if(!message.member.hasPermission('ADMINISTRATOR')) return message.channel.send('Du brauchst die Berechtigung um ein Regelwerk zu schreiben')
if(!parts[1]) return message.channel.send('Du musst mindestens eine Regel angeben')
var text = message.content.split(" ").slice(1).join(" ");
message.delete();
const sayembed = new Discord.MessageEmbed()
.setColor('800000')
.setThumbnail(`${message.guild.iconURL()}`)
.setTitle('Regeln')
.setDescription(text, true)
.setFooter('Erstellt von ' + message.author.tag)
.setTimestamp();
let sendEmbed = await message.channel.send(sayembed)
sendEmbed.react('✅')
sendEmbed.react('❌')
}
})
bot.on('messageReactionAdd', async(reaction, user, channel) => {
if(reaction.message.partial) await reaction.message.fetch();
if(reaction.partial) await reaction.fetch();
if(user.bot) return;
if(!reaction.message.guild) return;
if(reaction.message.channel.id === '859525260835291157') {
if(reaction.emoji.name === '✅') {
reaction.message.guild.members.cache.get(user.id).roles.add('854784657857970176')
}
}
})
1条答案
按热度按时间wmvff8tz1#
如果您知道该角色的名称,则需要首先找到该角色。
guild.roles.cache
返回集合,以便可以使用find()
方法。find()
搜索给定函数返回真实值的单个项(即role.name
就是你想要的那个)。