首页 > 解决方案 > 如何通过函数 [discord.js] 检查成员权限

问题描述

目前我正在使用discord.jsand制作一个 Discord Bot node.js。我做了很多审核命令,因此我需要不断检查某些成员是否有一些权限,我遇到了制作一个检查成员权限的功能的必要性。这主要是因为当您尝试对一个 Mod 或 Admin 成员进行 mderate 时,这使我的代码比实际更复杂(顺便说一下,我对编码机器人还很陌生)。

我正在尝试使用函数检查指定成员的权限。我期望发生的是,当您调用该函数时,它将检查该成员是否具有此类权限并返回一个布尔值。

到目前为止,我尝试过的是:

function isMod(str) {
    str.permissions.has(ANY_PERMISSION_TAG);
} // This should check for the permissions of any member specified by replacing 'str'

return console.log(isMod(message.member)); // This should return a boolean | true: Has at least 1 of the permissions | false: Does not have any of the permissions

但是,上面的代码不起作用,即使我认为与下面的代码等效:

console.log(message.member.permissions.has(ANY_PERMISSION_TAG));

我不知道如何制作isMod工作,请帮助!

标签: javascriptdiscord.js

解决方案


你忘记了函数中的返回

function isMod(str) {
   return str.permissions.has(ANY_PERMISSION_TAG);
} // This should check for the permissions of any member specified by replacing 'str'
    
return console.log(isMod(message.member)); // This should return a boolean | true: Has at least 1 of the permissions | false: Does not have any of the permissions

推荐阅读