Функция для телеграм бота на python?



@tokyodead

Добрый день, подскажите, пишу бота для телеграм, я новичок в этом и не могу понять, как сделать так что если это справка#1 отправлять ему одну справку, а если это справка#2 отправлять ему другую справку?
Вот код

bot = telebot.TeleBot(TOKEN)

@bot.message_handler(commands=['start'])
def start(message):
    markup = types.ReplyKeyboardMarkup(resize_keyboard = True)
    item1 = types.KeyboardButton('Заказать справку')
    markup.add(item1)
    bot.send_message(message.chat.id, 'Вас приветствует бот myboy', reply_markup=markup)

@bot.message_handler(content_types=['text'])
def bot_message(message):
    if message.chat.type == 'private':
        if message.text == 'Заказать справку':
            markup = types.ReplyKeyboardMarkup(resize_keyboard=True)
            item1 = types.KeyboardButton('Справка#1')
            back = types.KeyboardButton('Назад')
            markup.add(item1, back)
            bot.send_message(message.chat.id, 'Какая справка Вам нужна?', reply_markup=markup)

        elif message.text == 'Справка#1':
            bot.send_message(message.chat.id, 'Введите ИИН')

        elif message.text.isdigit and len(message.text) == 12:
            with con:
                cur = con.cursor()
                sql = "SELECT `fullname` FROM `bot_db` WHERE `iin`=%s and status=1 and user_type=1 limit 1 "
                cur.execute(sql, (message.text,))
                result = cur.fetchone()
                name = result
                age="1997-01-08"
                page_name = str(name) + '.pdf'
                get_pdf(name,age, page_name)
                bot.send_message(message.chat.id, result)
                r = open('C:\Users\Alkon PC\PycharmProjects\mainpy\{}'.format(page_name), 'rb')
                bot.send_document(message.chat.id, r)


Решения вопроса 1



@twistfire92

Вам надо познакомиться с register_next_step_handler, это упростит немного жизнь в вашей задаче. Если я правильно понимаю, то загвоздка в том, что обе справки требуют ИНН и вам надо как-то запомнить для какой именно справки сейчас ожидается ИНН от пользователя. register_next_step_handler вам поможет. Ищите примеры, пробуйте. Если что-то не будет получаться — скидывайте код сюда, будем смотреть.

Так же советую изучить работу с Inline кнопками, с ними больше возможностей откроется.



7

комментариев


Ответы на вопрос 0

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *