[英]Discord.js Get the member in a guild by username
我試圖在我的 discord 服務器上獲取所有成員的用戶名
然而,它只退還了 8-9/25 個成員,包括 6 個 BOT
這是我的代碼
const list = client.guilds.cache.get(msg.guildId);
list.members.cache.each(r => {
console.log(r.user.username)
})
除此之外,我還嘗試了這些方法
const list = client.guilds.cache.get(msg.guildId);
list.members.cache.array().forEach(r => {
console.log(r.user.username)
})
const user = client.users.cache.find(u => u.username == '//The Given username')
const user = msg.guild.roles.cache.get('//The Main Role in my Server')
.members.map(m => m.user.username == '//The given username')
let user = client.users.cache.get('username', '//The given username');
但有時它只是返回我和我的 BOT 的用戶名或未定義。
我正在嘗試獲取服務器上的所有成員,從中,我可以發現用戶與給定的用戶名具有相同的用戶名,而不是標簽或 ID
我已經打開了網關意圖,但它沒有幫助
請幫助我的項目,我真的需要你的所有建議
使用.fetch()
緩存所有成員,並返回它們。 確保您有GUILD_MEMBERS
意圖:
list.members.fetch().then(m => {
let members = m.cache.map(u => u.user.username)
console.log(members) //array of all members
//you can also use "m.cache.each(u => console.log(u.user.username))" to log each one individually
})
或者使用async-await
const m = await list.members.fetch()
let members = m.cache.map(u => u.user.username)
console.log(members)
您可以使用此服務器獲取該服務器中所有用戶的 ID(我不確定)
const Guild = client.guilds.cache.get("server id");
const Members = Guild.members.cache.map(member => member.id);
console.log(Members);
或這個
const list = <Guild>.members.cache.keys();
list.forEach(id => console.log(id));
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.