coollsd commited on
Commit
0304b78
·
verified ·
1 Parent(s): 4291525

Create currentbets.py

Browse files
Files changed (1) hide show
  1. currentbets.py +56 -0
currentbets.py ADDED
@@ -0,0 +1,56 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ @app_commands.command(name="currentbets", description="view bets")
2
+ async def currentbets(interaction: discord.Interaction):
3
+ user_id = interaction.user.id
4
+ if user_id not in user_bets or not user_bets[user_id]:
5
+ await interaction.response.send_message("no bets", ephemeral=True)
6
+ return
7
+
8
+ embed = discord.Embed(title="Current Bets", color=0x787878)
9
+ for i, bet in enumerate(user_bets[user_id], 1):
10
+ embed.add_field(
11
+ name=f"Bet {i}",
12
+ value=f"Team: {bet['team']}\nAmount: ${bet['amount']}\nGame: {bet['game_data']['teams']['away']['teamName']} vs {bet['game_data']['teams']['home']['teamName']}\nStart Time: {bet['game_data']['startTime']}",
13
+ inline=False
14
+ )
15
+
16
+ view = discord.ui.View()
17
+ select = discord.ui.Select(
18
+ placeholder="Select a bet to delete",
19
+ options=[discord.SelectOption(label=f"Bet {i}", value=str(i-1)) for i in range(1, len(user_bets[user_id])+1)]
20
+ )
21
+
22
+ async def select_callback(interaction: discord.Interaction):
23
+ bet_index = int(select.values[0])
24
+ removed_bet = user_bets[user_id].pop(bet_index)
25
+ user_cash[user_id] += removed_bet['amount']
26
+
27
+ await interaction.response.send_message(f"Bet on {removed_bet['team']} for ${removed_bet['amount']} has been deleted and refunded.", ephemeral=True)
28
+
29
+ if not user_bets[user_id]:
30
+ del user_bets[user_id]
31
+
32
+ # Update the embed and view
33
+ new_embed = discord.Embed(title="Your Current Bets", color=0x787878)
34
+ new_view = discord.ui.View()
35
+ if user_id in user_bets and user_bets[user_id]:
36
+ for i, bet in enumerate(user_bets[user_id], 1):
37
+ new_embed.add_field(
38
+ name=f"Bet {i}",
39
+ value=f"Team: {bet['team']}\nAmount: ${bet['amount']}\nGame: {bet['game_data']['teams']['away']['teamName']} vs {bet['game_data']['teams']['home']['teamName']}\nStart Time: {bet['game_data']['startTime']}",
40
+ inline=False
41
+ )
42
+ new_select = discord.ui.Select(
43
+ placeholder="Select a bet to delete",
44
+ options=[discord.SelectOption(label=f"Bet {i}", value=str(i-1)) for i in range(1, len(user_bets[user_id])+1)]
45
+ )
46
+ new_select.callback = select_callback
47
+ new_view.add_item(new_select)
48
+ else:
49
+ new_embed.description = "You don't have any bets."
50
+
51
+ await interaction.message.edit(embed=new_embed, view=new_view)
52
+
53
+ select.callback = select_callback
54
+ view.add_item(select)
55
+
56
+ await interaction.response.send_message(embed=embed, view=view, ephemeral=True)