Я делаю эконом-бота по файлу json. Мне нужна помощь с командой, которая может удалить часть денег с баланса пользователя в файле json и добавить ему роль на неделю или месяц.
Если вам интересно, вот мои вспомогательные функции:
async def open_account(user):
users = await get_bank_data()
if str(user.id) in users:
return False
else:
users[str(user.id)] = {}
users[str(user.id)]["wallet"] = 0
with open("mainbank.json", "w") as f:
json.dump(users, f)
return True
async def update_bank(user, change = 0, mode = "wallet"):
users = await get_bank_data()
users[str(user.id)][mode] += change
with open("mainbank.json", "w") as f:
json.dump(users, f)
bal = users[str(user.id)]["wallet"]
return bal
Я понятия не имею, как это реализовать, если есть, напишите в ответе
@Bot.command()
async def command_name(ctx):
role = ctx.guild.get_role(role_id)
await open_account(ctx.author)
user = ctx.author
bal = await update_bank(user)
if 2500>bal:
await ctx.send("You don't have that much money")
return
await update_bank(user, -2500, "wallet")
await user.add_roles(sub_role)
emb = discord.Embed(description = "You bought role for a week!", color = 0x2ecc71)
await ctx.send(embed = emb)
await asyncio.sleep(604800)
await user.remove_roles(sub_role)