coollsd commited on
Commit
4b6822f
·
verified ·
1 Parent(s): c57fa3e

Update sportbet.py

Browse files
Files changed (1) hide show
  1. sportbet.py +22 -21
sportbet.py CHANGED
@@ -120,28 +120,15 @@ class BetModal(discord.ui.Modal, title="Place Your Bet"):
120
 
121
  await asyncio.sleep(300)
122
 
123
- class SportBetView(discord.ui.View):
124
- def __init__(self, upcoming_games):
125
  super().__init__()
126
- self.upcoming_games = upcoming_games
127
- self.add_item(GameSelect(upcoming_games))
128
-
129
- @discord.ui.select(cls=GameSelect)
130
- async def on_game_select(self, interaction: discord.Interaction, select: GameSelect):
131
- selected_game = next(game for game in self.upcoming_games if f"{game['teams']['away']['abbreviation']}_{game['teams']['home']['abbreviation']}" == select.values[0])
132
-
133
- team_view = discord.ui.View()
134
- team_select = TeamSelect(selected_game['teams']['away'], selected_game['teams']['home'])
135
- team_view.add_item(team_select)
136
-
137
- @discord.ui.select(cls=TeamSelect)
138
- async def on_team_select(interaction: discord.Interaction, select: TeamSelect):
139
- selected_team = select.values[0]
140
- await interaction.response.send_modal(BetModal(selected_team, interaction.user.id, selected_game))
141
-
142
- team_view.on_team_select = on_team_select
143
 
144
- await interaction.response.edit_message(content="team to bet on:", view=team_view)
 
 
 
145
 
146
  @app_commands.command(name="sportbet", description="bet on sports game")
147
  async def sportbet(interaction: discord.Interaction):
@@ -159,9 +146,23 @@ async def sportbet(interaction: discord.Interaction):
159
  await interaction.response.send_message("No games for betting.")
160
  return
161
 
162
- view = SportBetView(upcoming_games)
163
  await interaction.response.send_message("game to bet on:", view=view)
164
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
165
  async def view_current_bets(interaction: discord.Interaction):
166
  user_id = interaction.user.id
167
  if user_id not in user_bets or not user_bets[user_id]:
 
120
 
121
  await asyncio.sleep(300)
122
 
123
+ class GameView(discord.ui.View):
124
+ def __init__(self, games):
125
  super().__init__()
126
+ self.add_item(GameSelect(games))
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
127
 
128
+ class TeamView(discord.ui.View):
129
+ def __init__(self, away_team, home_team):
130
+ super().__init__()
131
+ self.add_item(TeamSelect(away_team, home_team))
132
 
133
  @app_commands.command(name="sportbet", description="bet on sports game")
134
  async def sportbet(interaction: discord.Interaction):
 
146
  await interaction.response.send_message("No games for betting.")
147
  return
148
 
149
+ view = GameView(upcoming_games)
150
  await interaction.response.send_message("game to bet on:", view=view)
151
 
152
+ async def game_callback(interaction: discord.Interaction):
153
+ selected_game = next(game for game in upcoming_games if f"{game['teams']['away']['abbreviation']}_{game['teams']['home']['abbreviation']}" == view.children[0].values[0])
154
+
155
+ team_view = TeamView(selected_game['teams']['away'], selected_game['teams']['home'])
156
+
157
+ async def team_callback(interaction: discord.Interaction):
158
+ selected_team = team_view.children[0].values[0]
159
+ await interaction.response.send_modal(BetModal(selected_team, interaction.user.id, selected_game))
160
+
161
+ team_view.children[0].callback = team_callback
162
+ await interaction.response.edit_message(content="team to bet on:", view=team_view)
163
+
164
+ view.children[0].callback = game_callback
165
+
166
  async def view_current_bets(interaction: discord.Interaction):
167
  user_id = interaction.user.id
168
  if user_id not in user_bets or not user_bets[user_id]: