pbootcms网站模板|日韩1区2区|织梦模板||网站源码|日韩1区2区|jquery建站特效-html5模板网

Discord.js 獲取兩個用戶之間的公共服務器

Discord.js Get common servers between two users(Discord.js 獲取兩個用戶之間的公共服務器)
本文介紹了Discord.js 獲取兩個用戶之間的公共服務器的處理方法,對大家解決問題具有一定的參考價值,需要的朋友們下面隨著小編來一起學習吧!

問題描述

我正在尋找兩個不和諧 User 之間的公共服務器.目前,我的機器人能夠訪問它所屬的公會,但是給定一個向它發送消息的用戶,它無法訪問該用戶的任何公會.我知道不和諧會限制您查看共享的公會/服務器,但我什至找不到任何訪問這些的方法.

I am looking to get the common servers between two discord Users. Currently, my bot is able to access the guilds that it is a part of, however given a user who has sent it a message, it is unable to access any of the guilds of the user. I understand that discord limits you to seeing shared guilds/servers, but I can't find any way to even access those.

任何幫助將不勝感激.

上下文:DM

guild = message.client.guilds.cache.find(clientGuild=>message.author.????)

我想要類似的東西:

guild = message.client.guilds.cache.find(clientGuild=>message.author.guilds.includes(clientGuild)

推薦答案

這不適用于分片.我還沒有分片的經驗,所以我會把它留給有經驗的人.

This will not work with sharding. I don't have experience with sharding yet, so I'll leave it for someone else with experience.

您可以嘗試使用緩存的成員(并祈禱用戶被緩存,如果用戶發送了消息但不能保證會出現這種情況)或獲取成員.

You can either try to use the cached members (and pray that the user is cached, which should be the case if the user sent a message but isn't guaranteed) or fetch the member.

公會對象有一個成員 從用戶獲取成員對象的方法.您可以簡單地檢查它是否未定義以查看用戶是否在公會中并且被緩存.

The guild object has a member method to get the member object from user. You can simply check that it's not undefined to see if the user is in the guild and is cached.

client.guilds.cache.filter(guild => !!guild.member(message.author));

使用 fetch 的更長方法

這將獲取成員,因此具有高公會計數的機器人可能會達到速率限制(查看文檔 這里).

var guilds = Promise.all(
    client.guilds.cache.map(async guild => [
        guild.id,
        await guild.members.fetch(message.author).catch(() => null))
    ])
).then(guilds => guilds.filter(g => g[1]).map(guild => client.guilds.resolve(guild[0]));

它通過嘗試從機器人所在的每個公會中獲取成員來工作(fetch 可能會失敗,所以有一個只返回 null 的 catch),然后根據結果過濾公會.collection 類上沒有異步過濾器,所以我改為映射到異步謂詞,然后我使用 等待它們Promise.all.

It works by trying to fetch the member from every guild the bot is in (the fetch may fail so there's a catch which just returns null) and then filtering the guilds based on the result. There's no async filter on the collection class, so instead I map to async predicates which I then await them using Promise.all.

如果你需要分片,應該可以使用broadcastEval做同樣的事情,但是我還沒有足夠的信心來寫它.

If you need sharding, it should be possible to do the same using broadcastEval, but I'm not confident enough to write it yet.

這篇關于Discord.js 獲取兩個用戶之間的公共服務器的文章就介紹到這了,希望我們推薦的答案對大家有所幫助,也希望大家多多支持html5模板網!

【網站聲明】本站部分內容來源于互聯網,旨在幫助大家更快的解決問題,如果有圖片或者內容侵犯了您的權益,請聯系我們刪除處理,感謝您的支持!

相關文檔推薦

discord.js v12: How do I await for messages in a DM channel?(discord.js v12:我如何等待 DM 頻道中的消息?)
how to make my bot mention the person who gave that bot command(如何讓我的機器人提及發出該機器人命令的人)
How to fix Must use import to load ES Module discord.js(如何修復必須使用導入來加載 ES 模塊 discord.js)
How to list all members from a specific server?(如何列出來自特定服務器的所有成員?)
Discord bot: Fix ‘FFMPEG not found’(Discord bot:修復“找不到 FFMPEG)
Welcome message when joining discord Server using discord.js(使用 discord.js 加入 discord 服務器時的歡迎消息)
主站蜘蛛池模板: 气动机械手-搬运机械手-气动助力机械手-山东精瑞自动化设备有限公司 | 浙江华锤电器有限公司_地磅称重设备_防作弊地磅_浙江地磅售后维修_无人值守扫码过磅系统_浙江源头地磅厂家_浙江工厂直营地磅 | 发电机价格|发电机组价格|柴油发电机价格|柴油发电机组价格网 | 杭州厂房降温,车间降温设备,车间通风降温,厂房降温方案,杭州嘉友实业爽风品牌 | 润滑油加盟_润滑油厂家_润滑油品牌-深圳市沃丹润滑科技有限公司 琉璃瓦-琉璃瓦厂家-安徽盛阳新型建材科技有限公司 | 京马网,京马建站,网站定制,营销型网站建设,东莞建站,东莞网站建设-首页-京马网 | 伸缩器_伸缩接头_传力接头-巩义市润达管道设备制造有限公司 | 青岛代理记账_青岛李沧代理记账公司_青岛崂山代理记账一个月多少钱_青岛德辉财税事务所官网 | 冷油器-冷油器换管改造-连云港灵动列管式冷油器生产厂家 | 上海风淋室_上海风淋室厂家_上海风淋室价格_上海伯淋 | pH污水传感器电极,溶解氧电极传感器-上海科蓝仪表科技有限公司 | 合肥钣金加工-安徽激光切割加工-机箱机柜加工厂家-合肥通快 | 防腐木批发价格_深圳_惠州_东莞防腐木厂家_森源(深圳)防腐木有限公司 | 聚氨酯复合板保温板厂家_廊坊华宇创新科技有限公司 | 石膏基自流平砂浆厂家-高强石膏基保温隔声自流平-轻质抹灰石膏粉砂浆批发-永康市汇利建设有限公司 | EPDM密封胶条-EPDM密封垫片-EPDM生产厂家 | 微波消解仪器_智能微波消解仪报价_高压微波消解仪厂家_那艾 | 诚暄电子公司首页-线路板打样,pcb线路板打样加工制作厂家 | 驾驶式洗地机/扫地机_全自动洗地机_工业洗地机_荣事达工厂官网 | 无负压供水设备,消防稳压供水设备-淄博创辉供水设备有限公司 | 江西自考网-江西自学考试网| 合肥升降机-合肥升降货梯-安徽升降平台「厂家直销」-安徽鼎升自动化科技有限公司 | 流变仪-热分析联用仪-热膨胀仪厂家-耐驰科学仪器商贸 | 消电检公司,消电检价格,北京消电检报告-北京设施检测公司-亿杰(北京)消防工程有限公司 | 点胶机_点胶阀_自动点胶机_智能点胶机_喷胶机_点胶机厂家【欧力克斯】 | 科箭WMS仓库管理软件-TMS物流管理系统-科箭SaaS云服务 | 防爆型气象站_农业气象站_校园气象站_农业四情监测系统「山东万象环境科技有限公司」 | 冷却塔厂家_冷却塔维修_冷却塔改造_凉水塔配件填料公司- 广东康明节能空调有限公司 | PO膜_灌浆膜及地膜供应厂家 - 青州市鲁谊塑料厂 | 山东石英砂过滤器,除氟过滤器「价格低」-淄博胜达水处理 | 瑞典Blueair空气净化器租赁服务中心-专注新装修办公室除醛去异味服务! | 微动开关厂家-东莞市德沃电子科技有限公司 | 泵阀展|阀门展|水泵展|流体机械展 -2025上海国际泵管阀展览会flowtech china | 蔬菜清洗机_环速洗菜机_异物去除清洗机_蔬菜清洗机_商用洗菜机 - 环速科技有限公司 | 变位机,焊接变位机,焊接变位器,小型变位机,小型焊接变位机-济南上弘机电设备有限公司 | 西子馋火锅鸡加盟-太原市龙城酉鼎餐饮管理有限公司 | 扬州汇丰仪表有限公司 | 沈阳液压泵_沈阳液压阀_沈阳液压站-沈阳海德太科液压设备有限公司 | 云南丰泰挖掘机修理厂-挖掘机维修,翻新,再制造的大型企业-云南丰泰工程机械维修有限公司 | 东莞螺杆空压机_永磁变频空压机_节能空压机_空压机工厂批发_深圳螺杆空压机_广州螺杆空压机_东莞空压机_空压机批发_东莞空压机工厂批发_东莞市文颖设备科技有限公司 | 动环监控_机房环境监控_DCIM_机房漏水检测-斯特纽 |