сравнение значения из БД MemoryStorage

err0r

Новичок
Пользователь
Янв 9, 2022
42
4
8
Windows 7
python 3.8(32 bit)
aiogram
MemoryStorage

у меня в базе данных есть значение (win {wins}). Это типо баланс
можно ли как нибудь сравнить его?
пример:

Код:
@dp.message_handler(text=['? RS10'])
async def fight(message: types.Message, state: FSMContext):
  r = q.execute(f'SELECT RS10 FROM users WHERE user_id = {message.chat.id}').fetchone()
  z = q.execute(f'SELECT win FROM users WHERE user_id = {message.chat.id}').fetchone()
  connection.commit()
  wins = z[0]
  RS10 = r[0]
  if {wins} > 100:
    await bot.send_message(message.chat.id, 'Получена ферма RS10')
    q.execute('UPDATE users SET RS10 = RS10 + 1 WHERE user_id = {}'.format(message.chat.id))
    q.execute('UPDATE users SET win = win - 100 WHERE user_id = {}'.format(message.chat.id))
  else:
    await bot.send_message(message.chat.id, 'Недостаточно средств')
 

regnor

Модератор
Команда форума
Модератор
Июл 7, 2020
2 672
478
83
не нужно использовать f-строки и format в запросах sql, используйте синтаксис ? (знак вопроса)
можно ли как нибудь сравнить его?
ну вы же сравниваете в коде, правда я не понял почему if {wins} > 100:, зачем фигурные скобки?
 

err0r

Новичок
Пользователь
Янв 9, 2022
42
4
8
не нужно использовать f-строки и format в запросах sql, используйте синтаксис ? (знак вопроса)

ну вы же сравниваете в коде, правда я не понял почему if {wins} > 100:, зачем фигурные скобки?
Я не знаю как сравнить значение wins. Мне надо чтобы бот писал отпределенный текст если баланс меньше 100
я пытался запустить так... но мне выдавало ошибку
File "main.py", line 282, in fight
if wins > 100:
TypeError: '>' not supported between instances of 'str' and 'int'
 

regnor

Модератор
Команда форума
Модератор
Июл 7, 2020
2 672
478
83
Я не знаю как сравнить значение wins. Мне надо чтобы бот писал отпределенный текст если баланс меньше 100
я пытался запустить так... но мне выдавало ошибку
File "main.py", line 282, in fight
if wins > 100:
TypeError: '>' not supported between instances of 'str' and 'int'
если в wins целое число, то можно if int(wins) > 100:
 

err0r

Новичок
Пользователь
Янв 9, 2022
42
4
8
если в wins целое число, то можно if int(wins) > 100:
Спасибо большое. все работает)
 

Форум IT Специалистов