@AlexaAioGram

Как импортировать данные из SQLite в телеграм бота?

У меня есть база данных в которой есть ключи, и мне надо их от туда вытаскивать и пересылать в бота, но как сделать это я не знаю.

#Это стэйт хэндлер который должен забирать данные из базы данных

@dp.message_handler(chat_id=ADMIN, commands='new_keys')
async def password(message: Message):
    await message.answer('На сколько активировать подписку?', reply_markup=kb.markup_view_check)
    await View_check.view.set()

@dp.message_handler(chat_id=ADMIN, state=View_check.view)
async def erer(message: Message, state: FSMContext):
   # Вот тут нужно продолжить код ( другими словами, вытащить ключ из базы данных и вставить сюда )
    await state.finish()


# Вот сам код sqlite
def check_key(key, user_id):
    query = f'SELECT key FROM Keys WHERE key = {key}'
    status = str(execute_query(query))
    if status == '[]':
        state = False
    else:
        if len(str(key)) == 5:
            query = f'UPDATE Keys SET key = {random.randint(1000, 100000)} WHERE key = {key}'
            execute_query(query)
            query = f'UPDATE User SET status_user = 2 WHERE user_id = {user_id}'
            execute_query(query)
            date_now = str(datetime.utcnow().strftime('%d.%m.%Y'))
            query = f'UPDATE User SET date_sub = "{date_now}" WHERE user_id = {user_id}'
            execute_query(query)
        elif len(str(key)) == 6:
            query = f'UPDATE Keys SET key = {random.randint(10000, 1000000)} WHERE key = {key}'
            execute_query(query)
            query = f'UPDATE User SET status_user = 3 WHERE user_id = {user_id}'
            execute_query(query)
            query = f'UPDATE User SET date_sub = "вечно" WHERE user_id = {user_id}'
            execute_query(query)
        state = True
    return state
  • Вопрос задан
  • 51 просмотр
Решения вопроса 1
@slikkness
Если я правильно понимаю, что вы хотите сделать, то...

cursor = conn.cursor()
cursos.execute('SELECT key FROM Keys WHERE user_id == ?', [user_id])
data = cursor.fetchone()
print(data)
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы