javascript - 查看用户是否是具有 hasPermission 和提及的管理员
问题描述
我最近一直在尝试制作一个 Discord Bot,但我已经在这部分停留了一段时间。我基本上是在尝试制作一个嵌入来发送玩家的个人资料,该玩家的个人资料被 ping 过不同的信息,例如他的姓名/ID/他在哪个语音频道等。问题是,我不知道如何制作我创建的“isAdmin”变量得到了认可。
随着console.log()
我将问题缩小到 1 部分;message.mentions.members.first()
未定义但未读取,它只是跳过命令,就像从未输入过一样。这是我的来源:
case "profile":
var isAdmin = "undefined";
let profileMentionned = message.mentions.members.first();
if (!profileMentionned) return message.channel.send("some error message")
if (profileMentionned.hasPermission("MANAGE_MESSAGES"))
{
return isAdmin = "Admin boi";
}else{
return isAdmin = "Member pleb";
}
var embed = new Discord.RichEmbed()
Embed values....
感谢您回答 <3 :)
解决方案
哦,我刚刚注意到:
if (profileMentionned.hasPermission("MANAGE_MESSAGES"))
{
return isAdmin = "Admin boi";
// ^^^^^^
} else {
return isAdmin = "Member pleb";
// ^^^^^^
}
如果这样做,您将无法获得回报,因为它只会停止其余的工作。
而只是做isAdmin = "Admin boi";
,所以这样的事情会起作用:
var isAdmin = "undefined";
let profileMentionned = message.mentions.members.first();
if (!profileMentionned) return message.channel.send("some error message")
if (profileMentionned.hasPermission("MANAGE_MESSAGES")) {
isAdmin = "Admin boi";
} else {
isAdmin = "Member pleb";
}
var embed = new Discord.RichEmbed()
//...
推荐阅读
- data-mining - 我们如何区分数据挖掘中的噪声和异常值
- angular - 如何将任何 [] 转换为可观察的
在角度 6 - compiler-errors - 使用 cmake 构建带有 cpp 和 cuda 源的 pybind11 模块
- node.js - Meteor 部署到 DigitalOcean
- android - 多个 requestLocationUpdates 正在运行
- python - 关于使用python编程的类、子类和属性的概念问题
- r - R在更改列名时通过id和子id合并两个data.frame?
- c++ - KMDF 驱动程序无法构建 VS 2017
- kubernetes - 使用部署 YAML 文件从 Helm Chart 访问 Dockerhub 注册表图像
- java - 当 Coldfusion 从其“jar”文件中调用方法时,未编译的 Java 程序可以工作,但会产生错误?