File tree Expand file tree Collapse file tree 1 file changed +22
-9
lines changed
Expand file tree Collapse file tree 1 file changed +22
-9
lines changed Original file line number Diff line number Diff line change @@ -87,23 +87,36 @@ class DiscordClient extends AuthClient {
8787 this . client . login ( this . strategy . botToken )
8888 }
8989
90- /** @param {string } guildId @param {string } userId */
90+ /**
91+ * @param {string } guildId
92+ * @param {string } userId
93+ * @returns {Promise<string[]> }
94+ */
9195 async getUserRoles ( guildId , userId ) {
9296 try {
93- const members = await this . client . guilds . cache
94- . get ( guildId )
95- ?. members . fetch ( )
96- if ( members ) {
97- const member = members . get ( userId )
98- return member ?. roles . cache . map ( ( role ) => role . id ) || [ ]
99- }
100- return [ ]
97+ const guild =
98+ this . client . guilds . cache . get ( guildId ) ||
99+ ( await this . client . guilds . fetch ( guildId ) )
100+ const member = await guild ?. members . fetch ( userId )
101+ return member ?. roles . cache . map ( ( role ) => role . id ) || [ ]
101102 } catch ( e ) {
103+ const code =
104+ e && typeof e === 'object' && 'code' in e ? Number ( e . code ) : null
105+ if ( code === 10007 ) {
106+ this . log . debug (
107+ 'Discord member not found in guild' ,
108+ guildId ,
109+ 'for user' ,
110+ userId ,
111+ )
112+ return [ ]
113+ }
102114 this . log . error (
103115 'Failed to get roles in guild' ,
104116 guildId ,
105117 'for user' ,
106118 userId ,
119+ e ,
107120 )
108121 }
109122 return [ ]
You can’t perform that action at this time.
0 commit comments