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

时间:2021-04-26 15:45:13

标签: discord.js quick.db

伙计们,我目前正在处理 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: [""]
}

2 个答案:

答案 0 :(得分:0)

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

if(guild.members.cache.has("The UserID")){
    //Add the user in leaderboard
    //finalLb += `**${money. .........your code
}

答案 1 :(得分:0)

const member = message.guild.members.cache.get('user id');
  if(!member){
    // what to do if member is not provided
  }
}