Делаю бота на aiogram, использую базу данных SQLite.
Мне нужно проверить полученный id пользователя с каждым id уже имеющимся в базе данных с помощью цикла(просто как иначе я не знаю, если знаете подскажите пожалуйста как можно быстрее это сделать). Если проверяемый id будет соответствовать тому, что в базе, то пользователю бот отправляет сообщение вроде: "вы успешно авторизовались, вот ваш профиль", если же айди не соответствует ни одному из - то есть нет такого в базе данных, то бот переходит к процессу регистрации пользователя и там уже пойдут FSMcontext, стейты и тд. Мне нужно понять как реализовать проверку айди, весь инет перерыл, везде примеры с import sqlite3, cursor.fetchal, но ничего не работает, может я что-то не так делаю.
@user_registration_router.message(StateFilter(None), CommandStart())
async def cmd_start_dating(message: types.Message, state: FSMContext):
con = sqlite3.connect("data_base.db")
cursor = con.cursor()
cursor.execute("SELECT user_id FROM userdatabase")
user_id_massive = cursor.fetchall()
if message.from_user.id in [user_id[0] for user_id in user_id_massive]:
await message.answer('Вы успешно авторизировались!')
await message.answer('Вы в главном меню!')
else:
await message.answer('К сожалению Вы ещё не зарегистрированы в сервисе!')
time.sleep(1.5)
await state.update_data(user_id=message.from_user.id)
await message.answer('Укажите ваш пол ⬇️', reply_markup=GENDER_KB)
await state.set_state(DataUsers.gender)