Ontime berechnung zentralisieren #166 #172
@ -42,8 +42,15 @@ class LevelService:
|
||||
self._t = t
|
||||
|
||||
def get_level(self, user: User) -> Level:
|
||||
levels = self._levels.get_levels_by_server_id(user.server.server_id).order_by(lambda l: l.min_xp)
|
||||
return levels.where(lambda l: user.xp >= l.min_xp).last()
|
||||
levels_by_server = self._levels.get_levels_by_server_id(user.server.server_id)
|
||||
levels = levels_by_server \
|
||||
.order_by(lambda l: l.min_xp) \
|
||||
.where(lambda l: user.xp >= l.min_xp)
|
||||
|
||||
if levels.count() == 0:
|
||||
return levels_by_server.order_by(lambda l: l.min_xp).last()
|
||||
|
||||
return levels.last()
|
||||
|
||||
async def set_level(self, user: User):
|
||||
level_names = self._levels.get_levels_by_server_id(user.server.server_id).select(lambda l: l.name)
|
||||
|
Loading…
Reference in New Issue
Block a user