Доброго времени суток. Пишу дискорд-бота на библиотке Disnake. Сейчас застрял на команде, благодаря которой один участник передаёт валюту сервера другому (всё делается через базу данных sqlite). Проблема заключается в том, что вместо того, чтобы "добавить" денег второму участнику - с баланса списывает ровно то же количество денег, что и у первого. Крутил код и так и эдак, и всё бестолку. Ниже прикреплю код (сама функция прибавления и отнимания денег происходит при нажатии кнопки).
p.s. На сайте может отображаться чуть больше отступов в связи с тем, что вся команда находится в "классе".
@bot.slash_command(description='Передача денег другому участнику')
async def transfer(interaction, member: disnake.Member, amount):
#ButtonsButtonsButtonsButtonsButtonsButtonsButtonsButtons
view=View()
amount=int(amount)
da=Button(style=disnake.ButtonStyle.green, label="Да")
async def da_callback(inter: disnake.MessageInteraction):
if inter.author == interaction.author:
cursor.execute('UPDATE level SET money = money - {} WHERE id = {}'.format(amount, inter.author.id))
cursor.execute('UPDATE level SET money = money + {} WHERE id = {}'.format(amount, member.id))
conn.commit()
await inter.response.edit_message(embed=done, view=None)
else:
pass
da.callback=da_callback
view.add_item(da)
net=Button(style=disnake.ButtonStyle.red, label='Нет')
async def net_callback(inter: disnake.MessageInteraction):
if inter.author == interaction.author:
await inter.response.edit_message(embed=no, view=None)
else:
pass
net.callback=net_callback
view.add_item(net)
#EmbedsEmbedsEmbedsEmbedsEmbedsEmbedsEmbedsEmbedsEmbeds
yon=disnake.Embed(colour=disnake.Color.from_rgb(47, 49, 54))
yon.add_field(name='Подтверждение операции', value=f'\u200b\nВы уверены, что хотите перечислить {amount} <:servvalute:967795640425930822> на счёт {member.mention}?')
done=disnake.Embed(timestamp=interaction.created_at, colour=disnake.Color.from_rgb(52, 186, 88))
done.add_field(name='<a:Yes1:965581422121353216> Успешная транзакция', value=f'\u200b\nНа счёт {member.mention} перечислено {amount} <:servvalute:967795640425930822>')
no=disnake.Embed(timestamp=interaction.created_at, colour=disnake.Color.from_rgb(196, 55, 55))
no.add_field(name='<a:noentr:965583104360198205> Отмена операции', value=f'\u200b\nВ последний момент {interaction.author.mention} передумал(-а)\nА такой сюоприз мог(-ла) устроить..')
await interaction.send(embed=yon, view=view)