首頁  >  文章  >  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(>使用者
    用於messageReactionAdd()、guildBanAdd()和pStart)。
  • 使用公會成員.user
  • .

以上是如何區分discord.js 中的「User」和「GuildMember」?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn