尝试为提到的用户添加角色
Trying to add a role to a mentioned user
我正在尝试为标签游戏制作一个机器人。我这样做是为了让您可以提及一个用户,它会向他们添加 'IT' 角色,但是当他们没有提及成员时,它会被添加到他们身上。
我的代码在这里:
const args = message.content.slice(prefix.length).trim().split(/ +/g);
if (message.content.startsWith(`${prefix}tag`)) {
if (!message.mentions.users.size) {
let roleenter = message.guild.roles.get("555947490315075600");
let member = message.member;
member.addRole(roleenter).catch(console.error);
message.reply("you are now it!")
client.channels.get("555943069271457792").send(member + " is now in!")
await message.guild.fetchMembers();
const role = message.guild.roles.get("555947490315075600");
for (const member of role.members.array()) {
await member.removeRole(role);
}} else {
let member = message.mentions.users.first();
let roleenter = message.guild.roles.get("555947490315075600");
member.addRole(roleenter).catch(console.error);
message.reply("you are now it!")
client.channels.get("555943069271457792").send(member + " is now in!")
await message.guild.fetchMembers();
const role = message.guild.roles.get("555947490315075600");
for (const member of role.members.array()) {
await member.removeRole(role);
每当我尝试#tag @user 时,它都会显示 member.addRole is not a function
当我之前使用它并且它有效时。
更改此行:
let member = message.mentions.users.first();
到这一行:
let member = message.mentions.members.first();
您使用了上述用户的用户对象,但您必须使用 guildMember 对象,因为您无法为用户分配角色。
我正在尝试为标签游戏制作一个机器人。我这样做是为了让您可以提及一个用户,它会向他们添加 'IT' 角色,但是当他们没有提及成员时,它会被添加到他们身上。
我的代码在这里:
const args = message.content.slice(prefix.length).trim().split(/ +/g);
if (message.content.startsWith(`${prefix}tag`)) {
if (!message.mentions.users.size) {
let roleenter = message.guild.roles.get("555947490315075600");
let member = message.member;
member.addRole(roleenter).catch(console.error);
message.reply("you are now it!")
client.channels.get("555943069271457792").send(member + " is now in!")
await message.guild.fetchMembers();
const role = message.guild.roles.get("555947490315075600");
for (const member of role.members.array()) {
await member.removeRole(role);
}} else {
let member = message.mentions.users.first();
let roleenter = message.guild.roles.get("555947490315075600");
member.addRole(roleenter).catch(console.error);
message.reply("you are now it!")
client.channels.get("555943069271457792").send(member + " is now in!")
await message.guild.fetchMembers();
const role = message.guild.roles.get("555947490315075600");
for (const member of role.members.array()) {
await member.removeRole(role);
每当我尝试#tag @user 时,它都会显示 member.addRole is not a function
当我之前使用它并且它有效时。
更改此行:
let member = message.mentions.users.first();
到这一行:
let member = message.mentions.members.first();
您使用了上述用户的用户对象,但您必须使用 guildMember 对象,因为您无法为用户分配角色。