Как сделать запрос к Базе Данных из Телеграм бота по кнопке

подскажите как правильно оформить Телеграм бот, который по запросу пользователя выдает информацию из БД. Логика бота следующая: пользователю при команде /start для выбора критерия поиска отображается три кнопки (Поиск по ФИО руководителя, Поиск по адресу ЮЛ и Поиск по ИНН). После нажатия на кнопку Выходит команда, допустим "Введите ФИО" - данный скрипт реализован. Далее бот должен ожидать ответа от пользователя, и после ввода атрибута производится поиск в БД и выдается ответ. Полный скрипт прилагаю:

import telebot
from telebot import types

import psycopg2

from psycopg2 import OperationalError

bot = telebot.TeleBot('токен')


def create_connection(db_name, db_user, db_password, db_host, db_port):
    connection = None
    try:
        connection = psycopg2.connect(
            database=db_name,
            user=db_user,
            password=db_password,
            host=db_host,
            port=db_port,
        )
        print("Connection to PostgreSQL DB successful")
    except OperationalError as e:
        print(f"The error '{e}' occurred")
    return connection

connection = create_connection(
    "postgres", "postgres", "postgres", "localhost", "5432"
)



@bot.message_handler(commands=['start'])
def button(message):
    markup = types.InlineKeyboardMarkup(row_width=3)
    item = types.InlineKeyboardButton('Поиск по ИНН', callback_data='INN')
    item2 = types.InlineKeyboardButton('Поиск по ФИО', callback_data='FIO')
    item3 = types.InlineKeyboardButton('Поиск по адресу', callback_data='address')
    markup.add(item, item2, item3)
    bot.send_message(message.chat.id, 'Бот готов к работе', reply_markup=markup)


@bot.callback_query_handler(func=lambda call:True)
def callback(call):
    if call.message:
        if call.data == 'INN':
            bot.send_message(call.message.chat.id, 'Введите ИНН')
        elif call.data == 'FIO':
            bot.send_message(call.message.chat.id, 'Введите ФИО руководителя')
        elif call.data == 'address':
            bot.send_message(call.message.chat.id, 'Введите адрес регистрации ЮЛ')

bot.polling()

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