【发布时间】:2020-10-12 18:41:37
【问题描述】:
所以我正在尝试创建一个类似$roletested @user 的命令,它应该为用户提供提到的特定角色。我收到一个错误,称为:_“无法读取未定义的属性'角色'......请帮帮我,这是我的代码:D
【问题讨论】:
标签: discord.js roles
所以我正在尝试创建一个类似$roletested @user 的命令,它应该为用户提供提到的特定角色。我收到一个错误,称为:_“无法读取未定义的属性'角色'......请帮帮我,这是我的代码:D
【问题讨论】:
标签: discord.js roles
您的代码已修复
if (message.content.startsWith(prefix + "roletested")) {
if (!message.member.hasPermission('MANAGE_ROLES')) return message.channel.send('You do not have that permission! :x:').then(message.react(':x:'))
let testedRole = message.guild.roles.cache.get('724676382776492113');
let testedUser = message.mentions.members.first();
if(!testedUser) return message.channel.send("You have to mention the person you want to assign the role to!").then((declineMsg) => { message.react('❌')
declineMsg.delete({timeout: 5000});
});
testedUser.roles.add(testedRole);
message.channel.send("Added the role `TESTED` to user.")
}
【讨论】:
我修复了你的代码:
message.guild.roles.cache.find(...)所以我把它改成了message.guild.role.cache.get('Role ID')
来源:Link
代码:
if (message.content.startsWith(prefix + 'roletested')) {
const testedUser = message.mentions.members.first();
if (!message.member.hasPermission('MANAGE_ROLES')) return message.channel.send('You do not have that permission! :x:').then(message.react(':x:'));
if (!testedUser) {
message.channel.send('You have to mention the person you want to assign the role to!').then(declineMsg => {
message.react('❌');
declineMsg.delete({ timeout: 5000 });
return;
});
}
const testedRole = message.guild.roles.cache.get('395671618912780289');
testedUser.roles.add(testedRole);
message.channel.send('Added the role `TESTED` to user.');
}
我在我的机器人上测试了这段代码,它按预期工作。
【讨论】: