@@ -20,26 +20,35 @@ public static bool HasRoleGroup(this IUser user, ulong roleId)
20
20
21
21
public static bool IsNickAndNameEqual ( this IUser user )
22
22
{
23
- return user is SocketGuildUser guildUser && string . Equals ( guildUser . Nickname , guildUser . Username , StringComparison . CurrentCultureIgnoreCase ) ;
23
+ var guildUser = user as SocketGuildUser ;
24
+ if ( guildUser == null )
25
+ return true ;
26
+ return string . Equals ( guildUser . Nickname , guildUser . Username , StringComparison . CurrentCultureIgnoreCase ) ;
24
27
}
25
28
26
29
// Returns a simple string formatted as: "**user.Username** (aka **user.Nickname**)"
27
30
// Nickname is only included if it's different from the username
28
31
public static string UserNameReferenceForEmbed ( this IUser user )
29
32
{
30
- var reference = $ "**{ user . Username } **";
33
+ var reference = $ "**{ user . GetNickName ( ) } **! ";
31
34
if ( ! user . IsNickAndNameEqual ( ) )
32
- reference += $ " (aka **{ user } **)";
35
+ reference += $ " (aka **{ user . Username } **)";
33
36
return reference ;
34
37
}
35
38
36
39
// Returns a simple string formatted as: "user.Username (aka user.Nickname)"
37
40
// Nickname is only included if it's different from the username
38
41
public static string UserNameReference ( this IUser user )
39
42
{
40
- var reference = $ "{ user . Username } ";
43
+ var reference = $ "{ user . GetNickName ( ) } ! ";
41
44
if ( ! user . IsNickAndNameEqual ( ) )
42
- reference += $ " (aka { user } )";
45
+ reference += $ " (aka { user . Username } )";
43
46
return reference ;
44
47
}
48
+
49
+ // Returns the nickname of the user if the IUser can be cast to it exists, otherwise returns the username
50
+ public static string GetNickName ( this IUser user )
51
+ {
52
+ return ( user as SocketGuildUser ) ? . Nickname ?? user . Username ;
53
+ }
45
54
}
0 commit comments