fbpx

Несколько сменяющихся страниц inline-кнопок

266 просмотра
0
0 Комментариев

Добрый день, коллеги. Столкнулся с такой проблемой.У меня есть много inline-кнопок. Для лучшего восприятия хочу сделать несколько что-то вроде страниц inline-кнопок с добавлением в каждую кнопок вперед(=>) и назад(<=), соответственно, чтобы можно было листать эти страницы вперед и назад. Одну страницу добавить не проблема, но как их разнести с возможностью листать не понятно.Прикрепляю часть кода. Заранее благодарю.

bot = telebot.TeleBot(token)
@bot.message_handler(commands=['start','help'])
def start(o):
      bot.send_message(o.chat.id,'Привет, воспользуйся кнопками меню!')
      keyboard = types.ReplyKeyboardMarkup(resize_keyboard=True)
      keyboard.add(*[types.KeyboardButton(name) for name in ['Розн.Блок', 'Кор.Блок']])
      msg = bot.send_message(o.chat.id, 'Выберите блок!',
        reply_markup=keyboard)
def first(m):
    keyboard = types.ReplyKeyboardMarkup(resize_keyboard=True)
    keyboard.add(*[types.KeyboardButton(name) for name in ['Розн.Блок', 'Кор.Блок']])
    msg = bot.send_message(m.chat.id, 'Выберите блок!',
        reply_markup=keyboard)
@bot.message_handler(func=lambda m:True)
def name(m):
    if m.text == 'Розн.Блок':
        keyboard = types.InlineKeyboardMarkup()
        keyboard.add(*[types.InlineKeyboardButton(text=name,callback_data=name) for name
                    in ['Кнопка1','Кнопка2']])
        keyboard.add(*[types.InlineKeyboardButton(text=name,callback_data=name) for name
                    in ['Кнопка3','Кнопка4']])
              keyboard.add(*[types.InlineKeyboardButton(text=name,callback_data=name) for name
                    in ['=>']])
        msg = bot.send_message(m.chat.id,'-----------Выберите кнопку----------',reply_markup=keyboard)
    elif m.text =='Кор.Блок':
        bot.send_message(m.chat.id,'Нет информации')
@bot.callback_query_handler(func=lambda c:True)
def inline(c):
    if c.data == 'Кнопка1':
        bot.send_document(c.message.chat.id,open('Кнопка1.pdf', 'rb'))
    elif c.data == 'Кнопка2':
        bot.send_document(c.message.chat.id,open('Кнопка2.pdf', 'rb'))
    elif c.data == 'Кнопка3':
        bot.send_document(c.message.chat.id,open('Кнопка3.pdf', 'rb'))
    elif c.data == 'Кнопка4' :
        bot.send_document(c.message.chat.id,open('Кнопка4.pdf', 'rb'))
    elif c.data == '=>' :
        keyboard = types.InlineKeyboardMarkup()
        keyboard.add(*[types.InlineKeyboardButton(text=name,callback_data=name) for name
                    in ['Кнопка5','Кнопка6']])


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

0 Answers

Python Опубликовано 15.07.2019
Напишите свой ответ на данный вопрос.
Scroll Up