Делаю скрипт который позволяет пользователю делать ставку, но возникла проблема, что иногда пользователю то добавляется больше его ставки, то убирается больше его ставки, то уходит вообще в минус.
Вот сам скрипт:
msg = event.obj["text"].lower()
text = msg.split(' ', maxsplit=1)
if text[0] == "!ставка":
get_msg = text[1].split(" ")
get_side = get_msg[0]
get_rate = get_msg[1:]
text_rate = ' '.join(get_rate)
value_rate = re.sub(r'[^0-9.]+', r'', text_rate)
user_id = event.obj["from_id"]
sides = ["орел", "решка"]
if value_rate in "":
send("❗ | Неправильно указан формат!\n✔ | Правильный формат: !ставка [орел/решка] [сумма]")
if user_id not in money_bag:
send("❗ | Вы ещё не завели себе кошелёк.\n✔ | Кошелёк можно завести командой: !кошелёк")
if money_bag[user_id] < int(value_rate):
send("❗ | Вам не хватает средств чтобы сделать ставку на эту сумму.")
if money_bag[user_id] == int(value_rate):
send("❗ | Нельзя ставить весь кошелёк как ставку.")
if value_rate:
if get_side in sides:
if user_id in money_bag:
if money_bag[user_id] >= int(value_rate):
if money_bag[user_id] != int(value_rate):
coin_side = random.randint(1,100)
if coin_side <= 40:
money_bag[user_id] = money = money + int(value_rate)
with open('money_bag.txt','w') as f:
for key,val in money_bag.items():
f.write('{}:{}\n'.format(key,val))
send("✔ | Вы победили!\n | Вам зачислено " + str(value_rate) + " руб.")
else:
money_bag[user_id] = money = money - int(value_rate)
with open('money_bag.txt','w') as f:
for key,val in money_bag.items():
f.write('{}:{}\n'.format(key,val))
send("❌ | Вы проиграли!\n | С вашего счёта списано " + str(value_rate) + " руб.")