【问题标题】:How to pull all of a members servers in EJS/DJS?如何在 EJS/DJS 中拉取所有成员服务器?
【发布时间】:2021-09-26 19:48:07
【问题描述】:

在我的不和谐机器人仪表板中,我希望拉出该成员所在的所有服务器,以便让该成员管理这些服务器,但是,我尝试过的每件事都拒绝工作,我不再知道该怎么做在这里做。代码如下:

user.guilds.forEach(guild => {
    //const permsOnGuild = guild.permissions;
    //if(!user.guild.hasPermission('MANAGE_GUILD')) return;
    if(!guild.members.cache.get(user.id).hasPermission('MANAGE_GUILD')) return;

// Do a ton here for the servers.
)}

我继续得到的错误: 关于我正在尝试运行的实际片段,它无法获取用户,无法读取未定义的缓存,无法读取我所做的任何事情,甚至无法正常工作,它在很久以前就可以工作(略过我第一次尝试开发仪表板时的 6 个月)。如果有人可以提供帮助,那就太棒了。

【问题讨论】:

  • 你能告诉我们user是什么吗?
  • 您是否正在使用诸如 passport-discord 之类的东西来将guilds 属性附加到req.useruser 是普通的 User 对象吗(在这种情况下,它没有 guilds 属性)?
  • 我使用的是不和谐护照,我已经使用了一段时间了,所以仍然不确定。

标签: node.js express discord.js ejs


【解决方案1】:

我不确定你在问什么,但我想你的意思是检查是否有任何成员在服务器中管理公会。

var guild = message.guild; // You can change this
guild.members.fetch() // Fetches members first to avoid gateway intent problems
guild.members.cache.forEach(member=>{
  if(!member.hasPermission('MANAGE_GUILD')) return;
  // Do anything here as you like!
})

希望这会有所帮助。

【讨论】:

  • 做过和没做过,我的目标是建立一个网络仪表板,我能够与能够帮助我并真正弄清楚的人取得联系!编辑:仍然,精彩的答案!无论如何,人们都希望看到这一点。
  • 哦,抱歉没用,很高兴帮助其他人!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-09-26
  • 1970-01-01
  • 2021-12-02
  • 2021-11-09
  • 2022-01-18
  • 1970-01-01
相关资源
最近更新 更多