因此,我正在尝试创建一个可以使某人执行-kill @firstUser @secondUser的命令。这将使第一个用户的杀戮增加1,并为提到的第二个用户添加角色。我可以通过执行const firstUser = message.mentions.users.first();来访问提到的第一个用户。但我不确定第二个用户该怎么做。
我尝试访问message.mentions.users集合并将其转换为数组(并尝试访问该数组),但是我无法使其正常工作。
const firstUser = message.mentions.users.get(0);
const secondUser = message.mentions.users.get(1);
如何从多次提及的消息中获取用户类别?
答案 0 :(得分:1)
我发现的是,它返回一个对象,而不是提及,并且由于您无法发送对象,它将作为空消息错误返回。
因此,要发送提及,您可以发送:
// Getting the first and second users
const allMentioned = message.mentions.users.array()
// First User `[0]`
const firstUser = allMentioned[0];
// Second User `[1]`
const secondUser = allMentioned[1];
// And so on and so forth...
// Add `<@` to the begginning of the id and `>` to the end of it to make a mention.
const mentionSecondUser = "<@" + secondUser.id + ">";
// Sending a message using the fetched property
message.channel.send(`Hey ${mentionSecondUser}, or whatever.`);
或者,您可以尝试使用从获取属性时收到的以下格式使用其他提取的属性,例如secondUser
:
User {
id: '<secondUser's id>',
username: '<secondUser's username>',
bot: <true if secondUser a bot>,
discriminator: '<secondUser's discriminator>',
avatar: '<secondUser's avatarId>',
lastMessageID: <secondUser's lastMessageId>,
lastMessageChannelID: <secondUser's lastMessageChannelId>,
flags: UserFlags { bitfield: 0 }
}
一个例子就是上面的图片。
答案 1 :(得分:0)
您可以使用:
message.mentions.users.array()[1]
获取消息中的第二个用户。适当地,将[2]
用于第三,将[3]
用于第四,依此类推。