【问题标题】:Give user permission to manage a specific channel授予用户管理特定频道的权限
【发布时间】:2021-01-31 20:04:16
【问题描述】:

我想指定一个特定的用户来管理一个特定的频道。我刚刚尝试了 MANAGE_CHANNEL 和 MANAGE_CHANNELS 权限代码。如果是 CHANNEL,那么它不会创建频道(好像我没有执行命令),如果是 CHANNELS,那么它会创建频道,但我无权更改频道的名称、权限、集成... 怎么办?

message.guild.channels.create(`${message.member.displayName}`, {
                    type: 'voice',
                    permissionOverwrites: [
                        {
                            id: message.guild.id,
                            deny: ['VIEW_CHANNEL'],
                        },
                        {
                            id: message.author.id,
                            allow: ['VIEW_CHANNEL', 'MANAGE_CHANNEL', 'CONNECT', 'SPEAK', 'MUTE_MEMBERS', 'DEAFEN_MEMBERS', 'MOVE_MEMBERS', 'USE_VAD'],
                        },
                    ],
                        }).then(chann => {
                        let category = message.guild.channels.cache.find(c => c.id == "764203829603991602" && c.type == "category");
                        message.member.voice.setChannel(chann.id);
                if (!category) throw new Error("Category channel does not exist");
                chann.setParent(category.id, { lockPermissions: false });});
                console.log(`${message.member.displayName} létrehozva!`)
                break;

【问题讨论】:

    标签: javascript node.js discord.js


    【解决方案1】:

    MANAGE_CHANNEL 不是有效权限(如Permissions 类的文档中所述),因此您必须使用MANAGE_CHANNELS。通过授予此权限,用户应该已经能够修改频道名称和主题。对于更改集成,您还需要分配 MANAGE_WEBHOOKS 权限(请注意,要添加机器人,用户还需要“管理服务器”权限)。至于为什么尽管拥有MANAGE_CHANNELS 权限,您仍无法编辑频道名称,我不确定,因为当我自己测试时它可以完美运行。我只能说,您必须确保您的机器人在服务器上具有“管理频道”权限。

    【讨论】:

    • 感谢您的回答。我会尝试你所说的,我会检查你的答案是否被接受。我现在在等我的老板。
    猜你喜欢
    • 2021-07-30
    • 2020-09-04
    • 2016-03-13
    • 2011-03-24
    • 2015-06-19
    • 1970-01-01
    • 2016-12-20
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多