Помогите дописать код Python, aiogram, sqlite3

Всем привет! Помогите дописать бота, или подскажите что делать! Суть следующая у меня есть база данных.

import sqlite3

try:
    conn = sqlite3.connect("db_sql_main.db")
    cursor = conn.cursor()

    cursor.execute("CREATE TABLE IF NOT EXISTS user_password(user_id INTEGER)")
    users = cursor.execute("SELECT user_id FROM user_password WHERE user_id = ?", (users_id, ))
    print(users.fetchall()[0])

    conn.commit()

except sqlite3.Error as error:
    print("Error", error)
    
finally:
    if(conn):
        conn.close()

Через execute с таблицы user_password я вытягиваю значение user_id,(в моем случает это Telegram user ID) он записан у меня в бд:введите сюда описание изображенияЭтот

и к пример есть главный файл с код:

@dp.message_handler(commands=['start'])
async def cmd_start(message: types.Message):
    await message.answer(text='Привет ', reply_markup=kb)
    await bot.send_photo(chat_id=message.from_user.id,
        photo="здесь url", 
        caption='foto')

И нужно так что бы нажимая на start проверялся Telegram user ID с бд, если в бд его нет то меня не пропускает дальше, если есть то исполняется await bot.send_photo(chat_id=message.from_user.id, photo="здесь url", caption='foto') Буде благодарен за любую помощь, я чайник в программировании но мне нужно реализовать данную задачу!


Ответы (1 шт):

Автор решения: Виктор

Как вариант, надо проверять

сonn = sqlite3.connect("db_sql_main.db") ....

def getUserId(id: int):
    row = None
    cursor = conn.cursor()
    try:
        users = cursor.execute("SELECT user_id FROM user_password WHERE user_id = ?", (id, ))
        row = users.fetchone()

    except sqlite3.Error as error:
        pass

    finally:
        cursor.close()
        conn.commit()

    return row

@dp.message_handler(commands=['start'])
async def cmd_start(message: types.Message):
    if getUserId(message.from_user.id) is None:
        # тут обрабатываем ошибку user_id
        await message.answer(text='Я Вас не знаю', reply_markup=kb)
    else:
        await message.answer(text='Привет ', reply_markup=kb)
        await bot.send_photo(chat_id=message.from_user.id,
            photo="здесь url", caption='foto')
→ Ссылка