File tree Expand file tree Collapse file tree 2 files changed +12
-8
lines changed
Expand file tree Collapse file tree 2 files changed +12
-8
lines changed Original file line number Diff line number Diff line change @@ -120,6 +120,8 @@ export class UserInfoCommand extends Command {
120120 member . communicationDisabledUntilTimestamp > Date . now ( ) )
121121 ? "Yes"
122122 : "No" ,
123+ "Level/XP" ,
124+ `${ dbUser . level } /${ dbUser . experience } ` ,
123125 ] ,
124126 {
125127 author : { name : getDisplayTag ( member ) , icon_url : user . displayAvatarURL ( ) } ,
Original file line number Diff line number Diff line change @@ -115,14 +115,16 @@ export async function handleMessageExperience(message: Message) {
115115 false ,
116116 ) ;
117117
118- const roleToAssign = Object . keys ( Constants . XP . level_roles ) . find (
119- ( levelRequired ) => nextLevel === + levelRequired ,
120- ) ;
121- if ( roleToAssign != null ) {
122- await ( message . member as GuildMember ) . roles . add (
123- roleToAssign ,
124- "Member Leveled Up" ,
125- ) ;
118+ const member = message . member as GuildMember ;
119+ const rolesToAssign = Object . entries ( Constants . XP . level_roles )
120+ . filter (
121+ ( [ levelRequired , roleId ] ) =>
122+ nextLevel >= + levelRequired && ! member . roles . cache . has ( roleId ) ,
123+ )
124+ . map ( ( [ , foundLevel ] ) => foundLevel ) ;
125+
126+ if ( rolesToAssign . length > 0 ) {
127+ await member . roles . add ( rolesToAssign , "Member Leveled Up" ) ;
126128 }
127129
128130 await genericLog (
You can’t perform that action at this time.
0 commit comments