第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

獲取公會(huì)成員并過(guò)濾他們(Discord.js)

獲取公會(huì)成員并過(guò)濾他們(Discord.js)

青春有我 2023-05-11 14:41:15
我是 Discord.js 的新手,正在嘗試制作如下圖所示的服務(wù)器信息命令。我陷入了需要獲取所有公會(huì)成員并按當(dāng)前狀態(tài)和財(cái)產(chǎn)過(guò)濾他們的時(shí)刻bot。我閱讀了https://discordjs.guide/popular-topics/common-questions.html,它說(shuō)我需要獲取所有公會(huì)成員:msg.guild.members.fetch().then(fetchedMembers => {    const totalOnline = fetchedMembers.filter(member => member.presence.status === 'online');    msg.channel.send(`There are currently ${totalOnline.size} members online in this guild!`);});我的命令作為嵌入發(fā)送,我將過(guò)濾后的成員計(jì)數(shù)添加到變量中,然后將該值插入到嵌入字段中。如果我將嵌入發(fā)送到 then() 塊內(nèi)的通道,它正在工作,嵌入字段已正確添加。但我需要添加有關(guān)公會(huì)的其他信息,例如頻道數(shù)、所有者、區(qū)域等。如果我從 then() 中創(chuàng)建字段,而不是我得到的計(jì)數(shù)undefined。
查看完整描述

3 回答

?
神不在的星期二

TA貢獻(xiàn)1963條經(jīng)驗(yàn) 獲得超6個(gè)贊

你得到的原因undefined是因?yàn)樗?code>fetch()是一個(gè)異步函數(shù),這意味著它在后臺(tái)完成,一旦完成,then就會(huì)調(diào)用回調(diào)。

你不能把它放在then()塊之外,因?yàn)槟菢幽愕拇a將在fetch()完成之前執(zhí)行并用結(jié)果更新變量,除此之外,變量totalOnline是在該塊內(nèi)創(chuàng)建的,所以它不會(huì)在任何一種方式之外工作,因?yàn)樗窃摲秶鷥?nèi)的局部變量。

您可以在該范圍內(nèi)使用額外的所需信息。例如:

msg.guild.members.fetch().then(fetchedMembers => {

? ? const totalOnline = fetchedMembers.filter(member => member.presence.status === 'online');

? ? msg.channel.send(`There are currently ${totalOnline.size} members online in ${msg.guild.name}!`);

});


查看完整回答
反對(duì) 回復(fù) 2023-05-11
?
SMILET

TA貢獻(xiàn)1796條經(jīng)驗(yàn) 獲得超4個(gè)贊

您可以做的而不是使用fetch()只是為成員集合分配一個(gè)變量。


// v12

let allmembers = message.guild.members.cache;


// v11

let allmembers = message.guild.members;

一旦你有了它,你就可以過(guò)濾它并將它放入嵌入或消息等中。


const totalOnline = allmembers.filter(member => member.presence.status === 'online');


message.channel.send(`There are currently ${totalOnline.size} members online in ${message.guild.name}!`);



查看完整回答
反對(duì) 回復(fù) 2023-05-11
?
阿晨1998

TA貢獻(xiàn)2037條經(jīng)驗(yàn) 獲得超6個(gè)贊

let members = (await guild.members.fetch())

? ? .filter(m => m._roles.includes(ROLE_ID));


let member_ids = members.map(m => m.user.id);


let member_count = members.size();


查看完整回答
反對(duì) 回復(fù) 2023-05-11
  • 3 回答
  • 0 關(guān)注
  • 209 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)