首页 > 解决方案 > JavaScript 列出不和谐服务器中的所有成员

问题描述

所以我试图制作一个列出不和谐服务器中所有成员的命令,但它似乎不起作用。我做了研究,尝试了不同的方法,但似乎都没有奏效。这是我现在正在使用的代码。

const bot = new Discord.Client();    
bot.on("message", async msg => {
if (msg.author.id !== config.id) return;

let content = msg.content;
let text = content.toLowerCase();
let author = msg.author;
let member = msg.member;
let args = content.split(" ").slice(1);
let argsLower = text.split(" ");
let command = argsLower[0].replace(prefix, "");

if (!msg.content.startsWith(config.prefix)) return;

if (command === "listmembers"){
    msg.delete();
   msg.channel.guild.fetchMembers().then(guild =>{
      console.log("test");
      guild.members.forEach(member => console.log(member.user.username));
    } );
}

我尝试在函数中使用控制台记录“测试”,但没有出现在控制台中,所以我似乎无法进入该函数。

标签: javascriptdiscorddiscord.js

解决方案


如果你想 console.log() 所有成员,它只是:

message.guild.members.forEach(member => console.log(member.user.username));

但是,如果您尝试将它们列出到聊天中,则需要:

var list = [];
message.guild.members.forEach(member => list.push(member.user.username));
message.reply(`Total members: ${message.guild.memberCount}`);
const embed4 = new Discord.RichEmbed()
.setColor(0x684dad)
.setTitle('Member List:')
.setDescription(list);
message.channel.send(embed4);

您可以根据需要对其进行自定义,但这只是一个示例。


推荐阅读