如何检查用户是不是在公会中
Posted
技术标签:
【中文标题】如何检查用户是不是在公会中【英文标题】:How to check if a user is in a guild如何检查用户是否在公会中 【发布时间】:2021-07-20 00:15:07 【问题描述】:伙计们,我目前正在处理 quick.db 排行榜命令,但它返回全球排行榜,但我希望它只返回 message.guild 中的用户名称。
我目前的 lb 代码是这样的
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: [""]
【问题讨论】:
【参考方案1】:const member = message.guild.members.cache.get('user id');
if(!member)
// what to do if member is not provided
【讨论】:
【参考方案2】:尝试在你的代码中添加这个
if(guild.members.cache.has("The UserID"))
//Add the user in leaderboard
//finalLb += `**$money. .........your code
【讨论】:
我建议在上面打电话给guild.users.fetch()
既然他有message
,我以为他想改为message.guild
guild
作为指向他们想要从任何公会获取的指针以上是关于如何检查用户是不是在公会中的主要内容,如果未能解决你的问题,请参考以下文章