首页 > 解决方案 > discord.js 为@everyone 锁定一个频道

问题描述

当我尝试从频道上的@everyone 删除 SEND_MESSAGES 权限时,它给了我这个错误: TypeError [INVALID_TYPE]: Supplied overwrites is not an Array or Collection of Permission Overwrites.而且我不知道该怎么做。这是我的代码:

let channel = message.channel;
let roles = message.guild.roles;
let testRole = roles.fetch('@everyone');
channel.overwritePermissions(
    testRole, { 'SEND_MESSAGES': false },
    'string'
);

message.channel.send("Successfully locked channel.");

标签: discord.js

解决方案


没关系,我有一个解决方案:

let role = message.guild.roles.cache.find(r => r.name === "@everyone");
    message.channel.overwritePermissions([{
        id: role.id,
        deny: ["SEND_MESSAGES"]
    }]);    

推荐阅读