Хотел сделать очень простую систему предупреждений, при вносе в json бот дает сразу 2 warn, при повторе начисляет нормально. Прошу помочь с исправлением дублирования первого предупреждения.
Код:
@Bot.command()
async def warn(ctx, member: discord.Member, reason):
mem = ctx.message.author
if get(mem.roles, id = 824262219423678515):
await ctx.message.delete()
with open("D:\\UsersWarns.json", 'r') as f:
warns = json.load(f)
async def UserAdd_Warn1(warns, user):
if not user in warns:
warns[user] = {}
warns[user]['User_Warns'] = 1
emb = discord.Embed(title = f'{member.display_name}#{member.discriminator} Выдано предупреждение.', color = 0xff0000)
emb.add_field(name="Модератор",value=ctx.message.author.mention,)
emb.add_field(name="Пользователь",value=member.mention,)
emb.add_field(name="Причина",value=reason,)
emb.set_thumbnail(url="https://i.imgur.com/K2GwJCd.png")
emb.set_footer(text = f"ID: {member.id} → {ctx.message.created_at.strftime('[%d.%m.%Y %H:%M:%S]')}")
await ctx.send(embed = emb)
await UserAdd_Warn1(warns, str(member.id))
async def UserAdd_Warns(warns, user, User_Warns):
warns[user]['User_Warns'] += User_Warns
await UserAdd_Warns(warns, str(member.id), 1)
with open("D:\\UsersWarns.json", 'w') as f:
json.dump(warns, f)
else:
pass