Проблема с запросом данных из SQLite базы через Телеграм бот
Салют господа программисты. Прошу камнями не сразу не кидать я только обучаюсь. К делу... Пытался написать бота для работы, но случился затык с выводом информации из таблицы SQLite3. Код приведу позже. После ввода номера детали бот стопорится и ничего не делает АБСОЛЮТНО ничего. Ошибок не выдает пуллинг не прекращается привожу код.
@dp.message_handler(commands=['find'])
async def dialog1_start(message: types.Message):
# Спрашиваем номер детали
await message.answer("Введите номер детали:")
await Dialog2.nomer_PH.set()
@dp.message_handler(state=Dialog2.nomer_PH)
async def dialog1_nomer_PH(message: types.Message, state: FSMContext):
# Получаем номер детали из сообщения и сохраняем его в state
await state.update_data(nomer_PH=message.text)
await Dialog2.prom.set()
@dp.callback_query_handler(state=Dialog2.prom)
async def search_in_db(query: types.CallbackQuery, state: FSMContext):
data = await state.get_data()
nomer_PH = data.get('nomer_PH')
markup = ReplyKeyboardMarkup(resize_keyboard=True)
markup.add(KeyboardButton("Поиск в БД."), KeyboardButton("Отменить."))
await query.message.answer(f"Проверьте введенные данные: {nomer_PH}\n"
f"Для поиска в БД нажмите соответствующую кнопку:", reply_markup=markup)
await Dialog2.poisk_v_db.set()
@dp.message_handler(state=Dialog2.poisk_v_db)
async def dialog1_accept(message: types.Message, state: FSMContext):
try:
data = await state.get_data()
nomer_PH = data.get('nomer_PH')
if message.text == "Поиск в БД.":
connect = sql.connect('agro.db')
cursor = connect.cursor()
program = cursor.execute("SELECT program FROM program_list WHERE name =?", (nomer_PH,)).fetchone()
await message.answer(f"Поиск выполнен номер детали:{nomer_PH}\n"
f"Номер программы: {program[0]}")
connect.commit()
connect.close()
await state.reset_state()
elif message.text == "Отменить.":
await message.answer("Вы отменили поиск данных. Начните все заново с команды /add или команды /start.")
await state.reset_state()
except Exception as e:
await message.answer("Произошла ошибка при выполнении операции. Попробуйте снова.")
logging.exception(e)
await state.reset_state() ```
Очень прошу помощи, пожалуйста ткните меня носом в ошибку. Заранее спасибо за понимание.
Источник: Stack Overflow на русском