discord - Discord 机器人添加角色
问题描述
我正在尝试添加静音命令
这是我当前的代码:
if (message.member.roles.cache.some(role => role.name === 'Admin')) {
let target = message.mentions.members.first;
let role = message.member.guild.roles.cache.find(role => role.name === "muted");
target.roles.add(role);
message.channel.send('${user} has been muted by ${message.author.username}');
}
我收到此错误:
(节点:11052)UnhandledPromiseRejectionWarning:TypeError:无法读取未定义的属性“添加”
解决方案
- 我建议您
Roles#has
用于搜索成员角色
if (message.member.roles.cache.has('role-id') { ... }
Collection#first
是一个方法,而不是一个属性,添加()
到first
let target = message.mentions.members.first();
你得到Cannot read property 'add' of undefined
是因为你没有正确访问第一次提及
这是所有固定并放在一起的代码:
if (message.member.roles.cache.has('ROLE-ID-HERE')) {
let target = message.mentions.members.first();
let role = message.member.guild.roles.cache.find(role => role.name === "muted");
target.roles.add(role);
message.channel.send('${user} has been muted by ${message.author.username}');
}
推荐阅读
- python - 是否可以在熊猫数据帧上使用 fnmatch.filter 而不是正则表达式?
- python - 找到即将到期的日期并根据它分配值 - Python数据框
- c++ - Visual C++ - 使用模块和概念时未解析的外部符号
- javascript - javascript 下拉菜单总是在特定位置打开
- javascript - 除非用户触发要显示的地图,否则避免加载 Google Maps API
- crystal-reports - Crystal Reports 报表页脚显示公式的最高值
- reactjs - 方法 handleClick() 中的参数“i”是用来做什么的?
- r - 为代码折叠花括号创建快捷方式
- python - Pandas 合并 2 个数据帧,长度更改错误
- android - Android 上的 Firebase App Distribution 新构建警报