Первая часть кода работает хорошо, но после
elif vigov[3] == 1:
выходит ошибка
disnake.ext.commands.errors.CommandInvokeError: Command raised an exception: IndexError: tuple index out of range
Сам код:
@client.slash_command()
async def vig(inter, member: disnake.Member):
base.execute('CREATE TABLE IF NOT EXISTS {}(userid INT PRIMARY KEY, nick, pred INT, vig INT)'.format('system'))
base.commit()
vigov = cur.execute('SELECT vig FROM system WHERE userid == ?',(member.id,)).fetchone()
if vigov == None:
cur.execute('INSERT INTO system (userid, nick) VALUES(?, ?)',(member.id,member.name))
base.commit()
cur.execute('UPDATE system SET vig == ? WHERE userid == ?',(1,member.id))
base.commit()
await inter.send(embed=disnake.Embed(title='[INFO] Vig', description='Модератор получил первый выговор'), ephemeral=True)
await inter.channel.send(embed=disnake.Embed(title='[INFO] Vig', description=f'{inter.author.mention} установил +1 выговор модератору {member.mention}. Всего выговоров: 1/3'))
elif vigov[3] == 1:
cur.execute('UPDATE system SET vig == ? WHERE userid == ?',(2,member.id))
base.commit()
await inter.send(embed=disnake.Embed(title='[INFO] Vig', description='Модератор получил второй выговор'), ephemeral=True)
await inter.channel.send(embed=disnake.Embed(title='[INFO] Vig', description=f'{inter.author.mention} установил +1 выговор модератору {member.mention}. Всего выговоров: 2/3'))
elif vigov[3] == 2:
cur.execute('UPDATE system SET vig == ? WHERE nserid == ?',(3,member.id))
base.commit()
await inter.send(embed=disnake.Embed(title='[INFO] Vig', description='Модератор получил третий выговор и должен быть снят/понижем'), ephemeral=True)
await inter.channel.send(embed=disnake.Embed(title='[INFO] Vig', description=f'{inter.author.mention} установил +1 выговор модератору {member.mention}. Всего выговоров: 3/3'))
ПОЧЕМУ я же обращаюсь к 4 столбцу, а так как счёт идёт от нуля, 4-1==3