diff --git a/src/commands.py b/src/commands.py index 153e618..f71b2f2 100644 --- a/src/commands.py +++ b/src/commands.py @@ -7,12 +7,12 @@ def setup_commands(bot: discord.Bot): @bot.slash_command(description="Steige in den nächsten Zug! Beachte das Discord Spam limit (2x in 10min)") @commands.cooldown(1, 600, commands.BucketType.guild) async def umstieg(ctx): - success = await rename_vc(bot) - if not success: - await ctx.respond("Kanal nicht gefunden") - return - - embed = build_info_embed() + ctx.defer() + rename = await rename_vc(bot) + if not rename: + build_error_embed(rename) + else: + embed = build_info_embed() await ctx.respond("Informationen zur neuen Fahrt:", embed=embed) @bot.slash_command(description="Informationen über die aktuelle Fahrt") diff --git a/src/handlers.py b/src/handlers.py index ecfe9f5..111a292 100644 --- a/src/handlers.py +++ b/src/handlers.py @@ -20,7 +20,13 @@ async def rename_vc(bot: discord.Bot, scheduled=False) -> bool: logger(f"Es konnte kein VC mit der ID {config['vc']} auf dem Server gefunden werden") return False + attempt = 0 while True: + if attempt > 3: + logger("Zu viele Fehlversuche. Füge einen anderen Bahnhof hinzu.") + return "Es konnte kein Zug gefunden werden." + + attempt += 1 current = random_connection() train_type = current['train'].split()[0] @@ -36,7 +42,7 @@ async def rename_vc(bot: discord.Bot, scheduled=False) -> bool: if train_info: break - logger(f"Keine Ankunftszeit für {current['train']} verfügbar, versuche neue Verbindung...") + logger(f"Versuch {attempt}: Keine Ankunftszeit für {current['train']} verfügbar, versuche neue Verbindung...") train_name = f"{train} nach {current['destination']}"