因此,我试图创建一个列出不和谐服务器中所有成员的命令,但似乎不起作用。我做了研究,尝试了不同的方法,但似乎都没有效果。这是我现在正在使用的代码。
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));
} );
}
我尝试在功能中进行控制台日志记录“测试”,但是控制台中未显示该日志,因此我似乎无法进入该功能。
答案 0 :(得分:0)
如果您要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);
您可以根据需要自定义它,但这只是一个示例。