首页  >  文章  >  web前端  >  如何区分discord.js 中的'User”和'GuildMember”?

如何区分discord.js 中的'User”和'GuildMember”?

Mary-Kate Olsen
Mary-Kate Olsen原创
2024-11-11 19:58:02965浏览

How do you differentiate between a `User` and a `GuildMember` in discord.js?

在discord.js中区分User和GuildMember

问题:

混乱在discord.js 中区分 User 和 GuildMember 对象时会出现此问题。这会导致方法不匹配和未定义属性等错误。

答案:

根据 Discord.js 指南:

  • A 用户代表全局Discord用户。
  • GuildMember代表特定服务器上的Discord用户。

只有GuildMembers可以拥有服务器-特定属性,例如角色、权限和昵称。

常见错误和解决方法:

  • 尝试在全局用户上使用服务器特定方法时发生错误对象。
  • MessageMentions.users 返回 Users 的集合,该集合缺少服务器特定的函数。
  • 要获取 GuildMember,请使用:

    • MessageMentions.members: 返回 GuildMembers 的集合。
    • Guild.member():将 User 对象转换为 GuildMember。
  • GuildMember.user 提供对全局 User 对象的访问,支持检索全局用户属性。

其他提示:

  • 谨防将 Users 或 GuildMembers 作为参数传递的事件,例如:

    • GuildMember 用于 guildMemberAdd() 和 guildMemberUpdate( ).
    • 用户用于messageReactionAdd()、guildBanAdd()和typingStart()。
  • 使用公会成员.user.

以上是如何区分discord.js 中的'User”和'GuildMember”?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn