@Nekech

Почему пользователю не добавляется время подписки в бд?

Пишу бота с покупкой подписки на aiogram
Не могу понять почему после успешной покупки пользователя не добавляет в базу данных
Сам запрос к бд у меня написан так
def set_time_sub(cursor: sqlite3.Cursor, user_id: int, time_sub:int):
     return cursor.execute(
        "UPDATE 'users' SET 'time_sub'=? WHERE 'user_id'=?",(time_sub,user_id,))

Функция после которой пользователя должно добавлять в бд вот
@dp.callback_query_handler(lambda c: c.data.startswith('check_'))
async def check(callback: types.CallbackQuery):
    bill = str(callback.data[6:])
    info = bill
    user_id = callback.message.from_user.id
    time_sub = int(time.time()) + days_to_seconds(7)
    if info != False:
        if str(p2p.check(bill_id=bill).status) == "PAID":
            dbi.set_time_sub(db_curr,user_id,time_sub)
            await bot.send_message(callback.from_user.id,"Вам выдана подписка на неделю")
        else:
            await bot.send_message(callback.from_user.id,"Вы не оплатили счет",reply_markup=buy_menu(False,bill=bill))
    else:
        await bot.send_message(callback.from_user.id,"Счет не найден")

Статус платежа возвращается все работает
Структура бд
CREATE TABLE users (
    id          INTEGER PRIMARY KEY,
    user_id     INTEGER UNIQUE
                        NOT NULL,
    referrer_id INTEGER,
    gad         TEXT,
    time_sub            NOT NULL
                        DEFAULT (0)
  • Вопрос задан
  • 43 просмотра
Пригласить эксперта
Ваш ответ на вопрос

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

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