discord.js 机器人在服务器中标记随机用户
discord.js bot to tag random user in server
我想包含一个“-random”命令,用于标记服务器的随机成员。我找到了以下代码:
if(command === 'random'){
let randomUser = message.guild.members.cache.random().user;
message.channel.send('<@'+randomUser+'>');
}
它有效,但它只会标记我、机器人本身或其他人(如果那个人最近在频道中写过文章)。我该如何解决这个问题?
要获得公会中的所有成员,您必须在 client.login(token)
之前启用特权意图:https://discordjs.guide/popular-topics/intents.html#privileged-intents
确保您也在 Discord 开发者机器人仪表板中启用了意图:https://discord.com/developers/applications
首先获取所有成员,然后在返回的集合上调用 random()
。
if (command == 'random') {
message.guild.members.fetch()
.then(allMembers => {
const member = allMembers.random();
message.channel.send(member.toString());
})
.catch(console.error);
}
确保您已启用 GuildMember 的意图以便抓取工作。
我想包含一个“-random”命令,用于标记服务器的随机成员。我找到了以下代码:
if(command === 'random'){
let randomUser = message.guild.members.cache.random().user;
message.channel.send('<@'+randomUser+'>');
}
它有效,但它只会标记我、机器人本身或其他人(如果那个人最近在频道中写过文章)。我该如何解决这个问题?
要获得公会中的所有成员,您必须在 client.login(token)
之前启用特权意图:https://discordjs.guide/popular-topics/intents.html#privileged-intents
确保您也在 Discord 开发者机器人仪表板中启用了意图:https://discord.com/developers/applications
首先获取所有成员,然后在返回的集合上调用 random()
。
if (command == 'random') {
message.guild.members.fetch()
.then(allMembers => {
const member = allMembers.random();
message.channel.send(member.toString());
})
.catch(console.error);
}
确保您已启用 GuildMember 的意图以便抓取工作。