如何检查用户是否在公会中

问题描述

伙计们,我目前正在处理 quick.db 排行榜命令,但它返回全局排行榜,但我希望它只返回 message.guild 中的用户姓名。

我目前的磅码是这个

const discord = require('discord.js')
const db = require('quick.db')

module.exports.run = async (bot,message,args) => {
const ic = '<:mon:834428547064922142>'
    let money = db.fetchAll(message.guild.id).filter(data => data.ID.startsWith(`mon_`)).sort((a,b) => (b.data-a.data))
    money.length = 25;
    var finalLb = ""; 
    for (var i in money) {
      finalLb += `**${money.indexOf(money[i])+1}. ${(await bot.users.fetch(money[i].ID.split('_')[1])).username ? (await bot.users.fetch(money[i].ID.split('_')[1])).username : "UnkNown User#0000"}** : ${ic} ${parseInt(JSON.stringify(money[i].data))}\n`;
    }
    const embed = new discord.MessageEmbed()
    .setAuthor(`leaderboard`,message.guild.iconURL())
    .setColor("RANDOM")
    .setDescription(finalLb)
    .setFooter(bot.user.tag,bot.user.displayAvatarURL())
    .setTimestamp()
    message.channel.send(embed);
}
module.exports.help = {
  name:"rich",aliases: [""]
}

解决方法

尝试将其添加到您的代码中

if(guild.members.cache.has("The UserID")){
    //Add the user in leaderboard
    //finalLb += `**${money. .........your code
}
,
const member = message.guild.members.cache.get('user id');
  if(!member){
    // what to do if member is not provided
  }
}