javascript - 是否可以在 Discord.js 中查询用户角色
问题描述
我正在寻找一个只有特定角色才能访问的命令,并且想知道是否可以查询角色
我尝试做的是这样的
if (!message.member.role("CEO")) return;
我收到一条错误消息,指出 .role 不是函数
解决方案
message.member.role()
不是 的有效属性GuildMember
,但是,message.member.roles()
它是Collection
.
您应该从获取Role
对象开始。
// Get the role by ID
let myRole = message.guild.roles.get("264410914592129025");
// Get role by name
let myRole = message.guild.roles.find(role => role.name === "Admin");
要检查他们是否有角色,请.has()
使用Collection
.
message.member.roles.has(myRole)
message.member.roles.has("543965345763464434") // You can use the role ID directly because the roles are mapped by their ID.
要检查他们是否具有多个角色之一:
if (message.member.roles.some(role => ["Role1", "Role2"].includes(role.name))) {
// They have either Role1 or Role2.
}
推荐阅读
- tensorflow - tensoflow pow(x, y) 可以被 y 微分吗?
- python - 在列值 pandas 的子集中对列进行改组/置换
- java - 如何舍入金额使其为 0.00 美元而没有尾随?
- postgresql - 如何在 PostgreSQL 中重置自动生成的主键
- sql - Sum 函数在分组后不显示单行中的总值
- flutter - 我应该如何从不同的文件访问 Riverpod 提供程序?
- python - 为 numpy.select 创建范围的动态条件列表
- excel - 如何获取代码以正确计算一个电子表格中的项目(变量)并成功显示此信息?
- mongodb - 将 GeoJSON 中的 OSGridRef 转换为 MongoDB 索引
- python - pycaret 上的概率与预测的标签不匹配