@@ -212,8 +212,11 @@ async def add_xp(self, message: Message, xp: int):
212212 if user is None :
213213 await self .set_level (message .author , 0 )
214214 user = await self .get_user (message .author )
215+ old_lvl = user .lvl
215216 user .xp += xp
217+ print (user .xp , "xp" )
216218 while user .xp >= user .xp_needed : # fixme this is broken
219+ print (user , user .xp_needed )
217220 # get the extra xp that the user has after leveling up
218221 user .xp -= user .xp_needed
219222 user .lvl += 1
@@ -224,14 +227,9 @@ async def add_xp(self, message: Message, xp: int):
224227 xp = user .xp ,
225228 guild_id = message .guild .id ,
226229 ) # type: ignore
227- self .bot .dispatch ("level_up" , message , user .lvl )
228230
229- await self ._update_record (
230- member = message .author ,
231- level = user .lvl ,
232- xp = user .xp ,
233- guild_id = message .guild .id ,
234- ) # type: ignore
231+ if user .lvl > old_lvl :
232+ self .bot .dispatch ("level_up" , message , user .lvl )
235233
236234 async def get_boost (self , message : Message ) -> int :
237235 """get the boost that the server/user will have then"""
@@ -424,7 +422,7 @@ async def on_level_up(self, msg: Message, level: int):
424422 Called when a user reaches a certain level
425423 """
426424
427- # await self.controller.send_levelup(msg, level)
425+ await self .controller .send_levelup (msg , level )
428426 if await self .is_role_reward (msg .guild , level ):
429427 role = await self .get_role_reward (msg .guild , level )
430428 if role is not None :
0 commit comments