因此,我试图发出一个命令,列出discord服务器中的所有成员,但它似乎不起作用。我做了研究,尝试了不同的方法,但似乎都不管用。这就是我现在正在使用的代码。
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));
} );
}
我尝试了控制台日志"测试"中的功能,但没有显示在控制台,所以我似乎不能进入功能。
如果你想安慰我。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);
您可以根据需要定制它,但这只是一个例子。