【问题标题】:How to create a discord.js lock command如何创建 discord.js 锁定命令
【发布时间】:2020-05-26 19:07:22
【问题描述】:

我正在尝试为我的 discord.js 机器人创建锁定和解锁命令。我怎么能做到这一点?

我想这样做,所以当我这样做时 >lock 会将权限从 Verified 转移到 SEND_MESSAGES

然后,如果我 >unlock,它会解锁频道。

【问题讨论】:

    标签: javascript locking discord discord.js unlock


    【解决方案1】:

    在你的函数中,你只需要调用以下几行来删除权限,

    const role = guild.roles.find("name", "Verified ");
    
    role.permissions.remove('SEND_MESSAGES')
    

    为了还给他们,只需将以下几行放在命令下:

    const role = guild.roles.find("name", "Verified ");
    
    role.permissions.add('SEND_MESSAGES')
    

    如果您想了解为什么会这样,这里有一些相关的文档链接:rolepermissionspermissions flags

    编辑: 要更改特定频道的权限,只需执行以下操作:

    const role = guild.roles.find("name", "Verified ");
    
    message.channel.overwritePermissions(role,{ 'SEND_MESSAGES': false })
    

    为了还给他们,您可以执行以下操作

    const role = guild.roles.find("name", "Verified ");
    
    message.channel.overwritePermissions(role,{ 'SEND_MESSAGES': true})
    

    【讨论】:

    • 我只想锁定我发送的频道>lock in
    • 哦,那你需要把role.permissions.remove('SEND_MESSAGES')改成message.channel.overwritePermissions(role,{ 'SEND_MESSAGES': false }),我现在给你更新我之前的答案。
    • 它说公会没有定义。
    • 你是在 DM 中调用它
    • 问题是我使用 discord.js v12 所以我不得不做 message.guild.roles.cache.find
    【解决方案2】:

    我猜你需要这个

    const role2 = message.guild.roles.cache.find(role => role.name === 'Member') 
    message.channel.updateOverwrite(role2,{ 'SEND_MESSAGES': false}) 
    message.channel.send("Successfully locked **${message.channel.name}**")
    

    这个用于解锁

    const role = message.guild.roles.cache.find(role => role.name === 'Member') 
    message.channel.updateOverwrite(role,{ 'SEND_MESSAGES': true})   
    message.channel.send("Successfully unlocked **${message.channel.name}**")
    

    【讨论】:

    • 谢谢,但是这个问题已经回答了,谢谢。
    • 是的,但该命令对我不起作用。
    • 试一下被标记为答案的那个,如果您不明白如何阅读此代码,它只会锁定会员角色的频道,而不是所有人。
    猜你喜欢
    • 2020-04-11
    • 1970-01-01
    • 2021-01-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-09-30
    • 2022-10-22
    相关资源
    最近更新 更多