Ошибка в python или может быть в библиотеке telebot
aleks hz
Знаток
(367),
на голосовании
8 месяцев назад
У меня есть код и почему то даже если выпадает число меньше чем шансы выпадения бойца он всё равно его не даёт, не записывает в json и не пишет в телеграмм. Это очень странно я уже тысячу раз всё пересмотрел и не нашёл ошибки, а вот сам код:
import telebot import json import random import os
if not os.path.exists('user_data.json'): with open('user_data.json', 'w') as file: json.dump({}, file)
with open('user_data.json', 'r+') as file: data = json.load(file) if str(user_id) not in data: data[str(user_id)] = {"бойцы": [], "монеты": 0} if chosen_fighter: data[str(user_id)]["бойцы"].append(chosen_fighter) data[str(user_id)]["монеты"] += coins file.seek(0) json.dump(data, file, indent=4)
if chosen_fighter: return user_data else: return None
user_data = open_box(user_id, box_type) if user_data: bot.send_message(user_id, f'Поздравляем! Вы получили бойца: {user_data["pers"]} и {user_data["coin"]} монет.') else: bot.send_message(user_id, 'Поздравляем! В этот раз вам не выпал боец, но вы получили монеты.')