如何在discord.j中在同一命令下创建和设置角色的权限



我一直在尝试制作一个命令来创建机器人某些操作所需的角色,我已经成功地制作了创建角色的代码,但我无法设置角色权限,因为它总是会出错以下是代码:

} else if (command == 'genelkurulum') {
client.commands.get('generalsetup').execute(message, args)
client.commands.get('rolepermissions').execute(message, args)

generaalsetup创建角色,角色权限设置角色的权限。内部通用设置:

module.exports = {
name: 'generalsetup',
description: "This is important for bot to understand some of the commands",
async execute(message, args) {
if (message.member.permissions.has("ADMINISTRATOR")) {
message.channel.send('```Setup in process```');
message.guild.roles.create({
name: 'Muted',
reason: 'Before giving custom roles, you need to add the roles to server'
})
message.guild.roles.create({
name: 'Member',
reason: 'Before giving custom roles, you need to add the roles to server'
})
} else {
message.reply('Sorry, you are not an admin...')
}
}
}

以及内部的角色权限:

const { Permissions } = require("discord.js");
module.exports = {
name: 'rolepermissions', 
description: "Gives the roles the necessary permissions", 
async execute(message, args) {
let Muted = message.guild.roles.cache.find(role => role.name === 'Muted');
Muted.setPermissions([Permissions.FLAGS.VIEW_CHANNEL, Permissions.FLAGS.READ_MESSAGE_HISTORY]);
message.channel.send('Role permissions have been set up')
}
}

我怎样才能做到这一点?

代码一开始没有被重新编译,我试图将它们分离以解决问题,但没有成功但没有对我造成任何伤害,所以就这样吧

您可以在执行第一个命令之前使用时间等待,或者在某种程度上,您可以在generalsetup命令中设置权限。喜欢

guild.roles.create({ name: 'Muted', permissions: [Permissions.FLAGS.MANAGE_MESSAGES, Permissions.FLAGS.KICK_MEMBERS] });

最新更新