Skip to content

Commit 231992a

Browse files
Fixed the connect four game
Changes: - Defered the button resposes to avoid interaction timeouts
1 parent 4290d3c commit 231992a

1 file changed

Lines changed: 14 additions & 3 deletions

File tree

src/cogs/fun/connect_four.py

Lines changed: 14 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -197,22 +197,33 @@ def __init__(self, column: int, emoji: str):
197197
async def callback(self, interaction: discord.Interaction):
198198
game: ConnectFour = self.view.game
199199
lang: str = self.view.lang
200+
msg_id = interaction.message.id
201+
await interaction.response.defer()
200202

201203
# Wrong player
202204
if interaction.user != game.turn:
203205
err = _error_view(_t(lang, "not_your_turn"))
204-
return await interaction.response.send_message(view=err, ephemeral=True)
206+
try:
207+
return await interaction.followup.send(view=err, ephemeral=True)
208+
except Exception as e:
209+
print(f"Connect four error: {e}")
205210

206211
# Column full
207212
if game.board[0][self.column] != BLANK:
208213
err = _error_view(_t(lang, "col_full"))
209-
return await interaction.response.send_message(view=err, ephemeral=True)
214+
try:
215+
return await interaction.followup.send(view=err, ephemeral=True)
216+
except Exception as e:
217+
print(f"Connect four error: {e}")
210218

211219
game.place_move(self.column, interaction.user)
212220
game.check_game_over()
213221

214222
new_view = ConnectFourView(game, lang)
215-
await interaction.response.edit_message(view=new_view)
223+
try:
224+
await interaction.followup.edit_message(view=new_view, message_id=msg_id)
225+
except Exception as e:
226+
print(f"Connect four error: {e}")
216227

217228

218229
# ───────────────────────────────────────────────────

0 commit comments

Comments
 (0)