Я занимаюсь разработкой несогласного бота с экономичной системой с возможностью «дуэли» друг друга за деньги.Проблема возникает из-за того, что я не могу получить инструкцию UPDATE для фактического обновления базы данных.
Я использую python 3.6.8 с sqlite3.Я на 100% уверен, что скрипт вызывает там, где выполняется метод UPDATE, как показано из-за показанных операторов печати.Оператор UPDATE работает в других частях скрипта последовательно.После каждого пользовательского сообщения есть оператор Commit, поэтому не должно быть (насколько мне известно) проблем с блокировкой БД.
if(roll > 50):
print('More than 50')
db.execute('UPDATE userInfo SET wallet=? WHERE UID=?', (messageWallet + poster[1], message.author.id))
db.execute('UPDATE userInfo SET wallet=? WHERE UID=?', (posterWallet - poster[1], posterMember.id))
await message.channel.send(f'You **BEAT** {client.get_user(poster[0])} winning yourself {poster[1] * 2}:gem:')
elif(roll < 50):
print('less than 50')
db.execute('UPDATE userInfo SET wallet=wallet+? WHERE UID=?', (posterWallet + poster[1], posterMember.id))
db.execute('UPDATE userInfo SET wallet=wallet-? WHERE UID=?', (messageWallet - poster[1], message.author.id))
await message.channel.send(f'You **LOST** to {client.get_user(poster[0])}, they took {poster[1]}:gem:')
elif(roll == 50):
print('exactly 50')
await message.channel.send(f'Wow a tie! Both of you get your money back!')
return

Я ожидаю, что бот вычитает деньги, если бросок <50, и добавляет деньги, если бросок> 50, наконец, если роль сама 50, тогда бот не должен ничего делать, кроме ответа.