javascript - 如何在 Discord.js 中获取名称数组
问题描述
我是 discord.js 的新手,我无法获取服务器所有成员的姓名。这是代码:
**const List = bot.guilds.cache.get("88888952704"); // Getting the guild.
const Members = List.members.map((member) => {
member.displayName;
});**
//Basic hello
bot.on("message", (msg) => {
let args = msg.content.slice(Prefix.length).split(" ");
switch (args[0]) {
//For Testing
case "ping":
msg.channel.send("Pong!");
break;
//Now Serious
case "info":
if (args[1] == "version") {
msg.reply("I am currently at version " + botVersion + "!");
} else if (args[1] == null) {
msg.channel.send(
"Please be specific about what info you want like: !info version "
);
}
break;
case "cleartill":
if (!args[1]) {
msg.reply("Please be specific: Error 01B%s@1");
} else {
msg.channel.bulkDelete(args[1]);
break;
}
case "embed":
const embed = new Discord.MessageEmbed()
.setTitle("User Information:")
.addField("Player Name:", msg.author.username)
.setColor("#FFFF00")
.addField("Version:", botVersion);
msg.channel.send(embed);
break;
case "whoisa":
if (args[1] == null) {
msg.reply("Please enter the second argument.");
} else {
msg.channel.send(Members + " is a " + args[1]);
}
}
});
我想获取服务器中任何人的随机名称并回复输入的人!whoisa [something]
并给出答案[something]
是[args[1]]
. 请帮忙。提前致谢!
解决方案
拥有公会后,您可以使用members.fetch()
. 它返回一个具有.map()
方法的集合,因此您可以遍历该集合并返回它们displayName
,如下所示:
const guild = bot.guilds.cache.get("824977762186952704");
const members = await guild.members.fetch();
const names = members.map((member) => member.displayName);
// names is an array of names
console.log(names);
集合还有一种.random()
方法,您可以使用该方法从该集合中获取随机成员。返回的成员是 a GuildMember
,因此您可以获取其显示名称、向他们发送 DM 等。
// randomMember is a guild member
const randomMember = members.random();
如果你想在你的消息事件中使用它,你甚至可以从消息中获取公会。正如我在await
这里使用的那样,请确保将async
关键字添加到bot.on("message", async (msg) => {
.
case 'whoisa':
if (!args[1])
return msg.channel.send('Please enter an argument');
const members = await msg.guild.members.fetch();
msg.channel.send(`${members.random()} is a ${args.slice(1).join(' ')}`);
推荐阅读
- ssl - Hachicorp Vault 中的“issueing_ca”
- reactjs - src\App.js 第 124:16 行:'App' 未定义 no-undef
- python - 如何使用 ipywidgets 的交互将数据帧本身作为参数传递给函数但没有固定
- r - 使用栅格 getData 函数下载 worldclim 数据时出错
- python - 我在 python.py 中嵌入了一个不和谐的机器人时遇到了 httpexception 错误
- r - 使用 POSIXct 类数据在 ggplots 中进行注释
- sql - T-SQL 中的动态循环
- mysql - 删除 MySQL 中的主键
- pine-script - 将标签添加到当前脚本并具有 8 个静态行
- graphql-mesh - Graphql-Mesh 如何使用后端服务进行身份验证?