Задать вопрос
@RiderMC

Как поменять данные в sqlite3 после пополнения баланса в телеграм боте python?

Вот к примеру прошла оплата.
И нужно, чтобы бот обновил данные в столбе "Баланс" (прибавил 60), я сделал, по документации всё проверил, но он слишком буквально меня понимает, и пишет "1000 + 60")
Как сделать чтобы он нормально обновил число?
Вот как попытался я:
cur.execute(f"""SELECT balance FROM users WHERE user_id = '{message.from_user.id}'""")
    result = cur.fetchone()[0]

    cur.execute(f"""UPDATE users SET balance = '{result} + 60' WHERE user_id = '{message.from_user.id}' """)

    res = cur.execute(f"""SELECT balance FROM users WHERE user_id = '{message.from_user.id}'""")

    for row in res:
        await bot.send_message(message.chat.id,
                               f"Платеж на сумму {message.successful_payment.total_amount // 100} {message.successful_payment.currency} прошел успешно!!!\nВаш баланс: {row[0]}")


P.S
Это код после оплаты
  • Вопрос задан
  • 118 просмотров
Подписаться 1 Простой 5 комментариев
Решения вопроса 1
@RiderMC Автор вопроса
cur.execute(f"""SELECT balance FROM users WHERE user_id = '{message.from_user.id}'""")
result = cur.fetchone()[0]

num = 60

cur.execute(f"""UPDATE users SET balance = balance + ? WHERE user_id = ? """, (num, message.from_user.id))

res = cur.execute(f"""SELECT balance FROM users WHERE user_id = '{message.from_user.id}'""")

for row in res:
await bot.send_message(message.chat.id,
f"Платеж на сумму {message.successful_payment.total_amount // 100} {message.successful_payment.currency} прошел успешно!!!\nВаш баланс: {row[0]}")
conn.commit()
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы