@@ -48,6 +48,7 @@ class BaseUser(DiscordObject, _SendDMMixin):
48
48
"""Base class for User, essentially partial user discord model."""
49
49
50
50
username : str = attrs .field (repr = True , metadata = docs ("The user's username, not unique across the platform" ))
51
+ global_name : str | None = attrs .field (repr = True , metadata = docs ("The user's chosen display name, platform-wide" ))
51
52
discriminator : int = attrs .field (repr = True , metadata = docs ("The user's 4-digit discord-tag" ))
52
53
avatar : "Asset" = attrs .field (repr = False , metadata = docs ("The user's default avatar" ))
53
54
@@ -76,7 +77,7 @@ def mention(self) -> str:
76
77
@property
77
78
def display_name (self ) -> str :
78
79
"""The users display name, will return nickname if one is set, otherwise will return username."""
79
- return self .username # for duck-typing compatibility with Member
80
+ return self .global_name or self . username
80
81
81
82
@property
82
83
def display_avatar (self ) -> "Asset" :
@@ -378,7 +379,7 @@ def top_role(self) -> "Role":
378
379
@property
379
380
def display_name (self ) -> str :
380
381
"""The users display name, will return nickname if one is set, otherwise will return username."""
381
- return self .nickname or self .username
382
+ return self .nickname or self .user . global_name or self . user . username
382
383
383
384
@property
384
385
def display_avatar (self ) -> "Asset" :
0 commit comments