Added user set command #22 #143

Merged
edraft merged 6 commits from #22 into 0.3 2022-12-23 15:48:38 +01:00
Contributor

#22

#22
Ebola-Chan added this to the Sprint 0.3 milestone 2022-12-17 19:26:40 +01:00
Ebola-Chan self-assigned this 2022-12-17 19:26:40 +01:00
Ebola-Chan added 3 commits 2022-12-17 19:26:41 +01:00
Ebola-Chan requested review from edraft 2022-12-17 19:26:45 +01:00
Ebola-Chan added this to the Sprint 0.3 project 2022-12-17 19:26:53 +01:00
Ebola-Chan added a new dependency 2022-12-17 21:54:01 +01:00
edraft added 1 commit 2022-12-18 11:02:09 +01:00
edraft requested changes 2022-12-18 11:05:37 +01:00
@ -170,0 +199,4 @@
self._db.save_changes()
await self._level.check_level(member)
except Exception as e:
self._logger.error(__name__, f'Value couldn\'t be converted to int', e)
Owner

Relativ ungenau. Entweder änderst du die beschreibung von dem error oder du machst zwei try except blöcke, einmal für den type cast und dann für die manipulation des users inkl. level check

Relativ ungenau. Entweder änderst du die beschreibung von dem error oder du machst zwei try except blöcke, einmal für den type cast und dann für die manipulation des users inkl. level check
Author
Contributor

Das Exceptionhandling für das "check_level" würde ich lieber dann in der Methode selber machen und das in einem separaten Issue, da ich dafür weitere Exceptionklassen erstellen möchte, um Exceptions in der Methode besser von den allgemeinen Databaseexceptions zu differenzieren.

Das Exceptionhandling für das "check_level" würde ich lieber dann in der Methode selber machen und das in einem separaten Issue, da ich dafür weitere Exceptionklassen erstellen möchte, um Exceptions in der Methode besser von den allgemeinen Databaseexceptions zu differenzieren.
Ebola-Chan marked this conversation as resolved
edraft requested changes 2022-12-18 11:07:29 +01:00
@ -170,0 +215,4 @@
@set.autocomplete('atr')
async def set_autocomplete(self, interaction: discord.Interaction, current: str) -> List[app_commands.Choice[str]]:
atr_list = ['xp']
Owner

Es wäre ne idee, dass diese strings irgendwie aus translation oder config kommen. Also das man da halt ne liste von diesen Strings hat. Ist auch diesen drei Befehlen immer der Fall

Es wäre ne idee, dass diese strings irgendwie aus translation oder config kommen. Also das man da halt ne liste von diesen Strings hat. Ist auch diesen drei Befehlen immer der Fall
Ebola-Chan marked this conversation as resolved
Ebola-Chan added 1 commit 2022-12-18 22:44:37 +01:00
edraft requested changes 2022-12-19 07:59:41 +01:00
@ -145,3 +160,3 @@
match atr:
case 'xp':
case self._atr_class.xp:
Owner

Mach das bitte mit nem elif und als dict in der Klasse und keine weitere Klasse dafür einführen
https://stackoverflow.com/questions/72638083/python-match-case-dictionary-keys

Mach das bitte mit nem elif und als dict in der Klasse und keine weitere Klasse dafür einführen https://stackoverflow.com/questions/72638083/python-match-case-dictionary-keys
Author
Contributor

Match-Case-Statement gegen If-Else-Statement getauscht

Match-Case-Statement gegen If-Else-Statement getauscht
Ebola-Chan marked this conversation as resolved
@ -169,0 +211,4 @@
self._logger.error(__name__, f'String value couldn\'t be converted to int', te)
await self._message_service.send_interaction_msg(ctx.interaction, self._t.transform('modules.base.user.set.error.type_error'))
return
except DatabaseError as de:
Owner

Der ist bei weitem unnötig xD
Wenn wir mal in check_level reinschauen sehen wir, dass dort alle Fehler abefangen werden.

Des Weiteren ist DatabaseError um das update_user abzufangen ungenau bzw als solches auch nicht ötig.

Der ist bei weitem unnötig xD Wenn wir mal in check_level reinschauen sehen wir, dass dort alle Fehler abefangen werden. Des Weiteren ist DatabaseError um das update_user abzufangen ungenau bzw als solches auch nicht ötig.
Author
Contributor

Errorhandling entfernt. Nur TypeError wird behandelt.

Errorhandling entfernt. Nur TypeError wird behandelt.
Ebola-Chan marked this conversation as resolved
@ -169,0 +216,4 @@
await self._message_service.send_interaction_msg(ctx.interaction, self._t.transform('modules.base.user.set.error.database_error'))
return
except Exception as e:
self._logger.error(__name__, f'An error occurred while setting xp', e)
Owner

DieseBlock ist wegen command error handling an und für auch nicht nötig. Hier könnte man wenn man wollte die Datenbankfehler abfangen

DieseBlock ist wegen command error handling an und für auch nicht nötig. Hier könnte man wenn man wollte die Datenbankfehler abfangen
Ebola-Chan marked this conversation as resolved
Ebola-Chan added 1 commit 2022-12-22 20:39:28 +01:00
edraft approved these changes 2022-12-23 15:48:26 +01:00
edraft merged commit 6c6169f7ee into 0.3 2022-12-23 15:48:38 +01:00
edraft deleted branch #22 2022-12-23 15:48:38 +01:00
edraft removed this from the Sprint 0.3 milestone 2023-02-13 10:29:40 +01:00
Sign in to join this conversation.
No description provided.