From c237a65b39f1b21bac912964281c1ceda9ede3e1 Mon Sep 17 00:00:00 2001 From: SimolZimol <70102430+SimolZimol@users.noreply.github.com> Date: Thu, 12 Sep 2024 19:11:00 +0200 Subject: [PATCH] modified: bot.py --- bot.py | 30 ++++++++++++++++++------------ 1 file changed, 18 insertions(+), 12 deletions(-) diff --git a/bot.py b/bot.py index e77984d..2f751b8 100644 --- a/bot.py +++ b/bot.py @@ -401,19 +401,25 @@ async def check_giveaway(giveaway_id): @client.event async def on_interaction(interaction): """Bearbeitet die Teilnahme an einem Giveaway.""" - if interaction.data["custom_id"].startswith("giveaway_"): - giveaway_id = int(interaction.data["custom_id"].split("_")[1]) - giveaway = giveaways.get(giveaway_id) - - if giveaway: - if giveaway.is_finished(): - await interaction.response.send_message("Dieses Giveaway ist bereits beendet.", ephemeral=True) - else: - added = giveaway.add_participant(interaction.user) - if added: - await interaction.response.send_message("Du hast erfolgreich am Giveaway teilgenommen!", ephemeral=True) + # Überprüfen, ob es sich um eine Button-Interaktion handelt und ein custom_id vorhanden ist + if interaction.type == discord.InteractionType.component and "custom_id" in interaction.data: + if interaction.data["custom_id"].startswith("giveaway_"): + giveaway_id = int(interaction.data["custom_id"].split("_")[1]) + giveaway = giveaways.get(giveaway_id) + + if giveaway: + if giveaway.is_finished(): + await interaction.response.send_message("Dieses Giveaway ist bereits beendet.", ephemeral=True) else: - await interaction.response.send_message("Du nimmst bereits am Giveaway teil.", ephemeral=True) + added = giveaway.add_participant(interaction.user) + if added: + await interaction.response.send_message("Du hast erfolgreich am Giveaway teilgenommen!", ephemeral=True) + else: + await interaction.response.send_message("Du nimmst bereits am Giveaway teil.", ephemeral=True) + else: + # Logge Interaktionen, die nicht den erwarteten Typ haben + logger.error(f"Unbekannte Interaktion: {interaction.type}, Daten: {interaction.data}") + def read_introduction(): try: