coollsd commited on
Commit
50bbe01
·
verified ·
1 Parent(s): 6067e2a

Update roulette.py

Browse files
Files changed (1) hide show
  1. roulette.py +13 -8
roulette.py CHANGED
@@ -19,9 +19,12 @@ class RouletteView(discord.ui.View):
19
  @discord.ui.button(label="Spin the Roulette", style=discord.ButtonStyle.primary, custom_id="spin_button")
20
  async def spin_button_callback(self, interaction: discord.Interaction, button: discord.ui.Button):
21
  if interaction.user.id != self.user_id:
22
- await interaction.response.send_message("non.", ephemeral=True)
23
  return
24
 
 
 
 
25
  result = random.choices(ROULETTE_COLORS, weights=[18, 1, 18], k=1)[0]
26
 
27
  if result == self.choice:
@@ -44,10 +47,10 @@ class RouletteView(discord.ui.View):
44
  embed.add_field(name="Result", value=result_text, inline=False)
45
  embed.add_field(name="New Balance", value=f"${self.balance:.2f}", inline=False)
46
 
47
- # Disable the button after spin
48
  self.disable_all_items()
49
 
50
- await interaction.response.edit_message(embed=embed, view=self)
51
 
52
  class RouletteBotClient(discord.Client):
53
  def __init__(self):
@@ -56,14 +59,16 @@ class RouletteBotClient(discord.Client):
56
  super().__init__(intents=intents)
57
  self.tree = app_commands.CommandTree(self)
58
 
59
- async def on_ready(self):
60
  await self.tree.sync()
 
 
61
  print(f'Logged in as {self.user} (ID: {self.user.id})')
62
  print('------')
63
 
64
  client = RouletteBotClient()
65
 
66
- @client.tree.command(name="roulette", description="roulette simple as that")
67
  @app_commands.describe(
68
  bet="Amount you want to bet",
69
  choice="Choose red, green, or black"
@@ -73,7 +78,7 @@ async def roulette(interaction: discord.Interaction, bet: float, choice: str):
73
  choice = choice.lower()
74
 
75
  if choice not in ROULETTE_COLORS:
76
- await interaction.response.send_message("Invalid choice! Please choose **red**, **green**, or **black**.", ephemeral=True)
77
  return
78
 
79
  if bet <= 0:
@@ -83,7 +88,7 @@ async def roulette(interaction: discord.Interaction, bet: float, choice: str):
83
  balance = user_cash.get(user_id, 1000.0) # Default starting balance
84
 
85
  if bet > balance:
86
- await interaction.response.send_message(f"you dont got money this is how much you got ${balance:.2f}.", ephemeral=True)
87
  return
88
 
89
  # Deduct the bet initially
@@ -94,4 +99,4 @@ async def roulette(interaction: discord.Interaction, bet: float, choice: str):
94
  embed.add_field(name="Current Balance", value=f"${balance:.2f}", inline=False)
95
 
96
  view = RouletteView(user_id, bet, choice, balance)
97
- view.message = await interaction.response.send_message(embed=embed, view=view)
 
19
  @discord.ui.button(label="Spin the Roulette", style=discord.ButtonStyle.primary, custom_id="spin_button")
20
  async def spin_button_callback(self, interaction: discord.Interaction, button: discord.ui.Button):
21
  if interaction.user.id != self.user_id:
22
+ await interaction.response.send_message("You are not authorized to use this button.", ephemeral=True)
23
  return
24
 
25
+ # Simulate spinning the roulette
26
+ await interaction.response.defer() # Acknowledge the interaction to allow more time
27
+
28
  result = random.choices(ROULETTE_COLORS, weights=[18, 1, 18], k=1)[0]
29
 
30
  if result == self.choice:
 
47
  embed.add_field(name="Result", value=result_text, inline=False)
48
  embed.add_field(name="New Balance", value=f"${self.balance:.2f}", inline=False)
49
 
50
+ # Disable the button after spin to prevent multiple spins
51
  self.disable_all_items()
52
 
53
+ await interaction.edit_original_response(embed=embed, view=self)
54
 
55
  class RouletteBotClient(discord.Client):
56
  def __init__(self):
 
59
  super().__init__(intents=intents)
60
  self.tree = app_commands.CommandTree(self)
61
 
62
+ async def setup_hook(self):
63
  await self.tree.sync()
64
+
65
+ async def on_ready(self):
66
  print(f'Logged in as {self.user} (ID: {self.user.id})')
67
  print('------')
68
 
69
  client = RouletteBotClient()
70
 
71
+ @client.tree.command(name="roulette", description="Play a game of roulette!")
72
  @app_commands.describe(
73
  bet="Amount you want to bet",
74
  choice="Choose red, green, or black"
 
78
  choice = choice.lower()
79
 
80
  if choice not in ROULETTE_COLORS:
81
+ await interaction.response.send_message("choose **red**, **green**, or **black**.", ephemeral=True)
82
  return
83
 
84
  if bet <= 0:
 
88
  balance = user_cash.get(user_id, 1000.0) # Default starting balance
89
 
90
  if bet > balance:
91
+ await interaction.response.send_message(f"You don't have MONEY. Your current balance is ${balance:.2f}.", ephemeral=True)
92
  return
93
 
94
  # Deduct the bet initially
 
99
  embed.add_field(name="Current Balance", value=f"${balance:.2f}", inline=False)
100
 
101
  view = RouletteView(user_id, bet, choice, balance)
102
+ await interaction.response.send_message(embed=embed, view=view)