Added achievements to data integrity service #268_achievements

This commit is contained in:
2023-07-18 11:10:02 +02:00
parent d4dd55944a
commit 11a4874bfb
2 changed files with 26 additions and 3 deletions

View File

@@ -78,7 +78,7 @@ class AchievementService:
return self._attributes
def _match(self, value: any, operator: str, expected_value: str) -> bool:
return self._operators[operator](value, expected_value)
return self._operators[operator](str(value), expected_value)
def has_user_achievement_already(self, user: User, achievement: Achievement) -> bool:
user_achievements = self._achievements.get_achievements_by_user_id(user.id)
@@ -96,10 +96,10 @@ class AchievementService:
self._achievements.add_user_got_achievement(UserGotAchievement(user, achievement, user.server))
self._db.save_changes()
await self._give_user_xp(user)
self._give_user_xp(user)
await self._send_achievement_notification(user.server.discord_id, user.discord_id, achievement.name)
async def _give_user_xp(self, user: User):
def _give_user_xp(self, user: User):
settings: BaseServerSettings = self._config.get_configuration(f"BaseServerSettings_{user.server.discord_id}")
user.xp += settings.xp_per_achievement
self._users.update_user(user)