рдкрд╛рдпрдерди рдЯреЗрд▓реАрдЧреНрд░рд╛рдо рдкреЗрдЬрд┐рдиреЗрд╢рди рдмреЙрдЯ

рд╣рд╛рд▓ рд╣реА рдореЗрдВ, рдореБрдЭреЗ рдЯреЗрд▓реАрдЧреНрд░рд╛рдо рдмреЙрдЯ рдореЗрдВ рддрддреНрд╡реЛрдВ рдХреА рдПрдХ рд╕реВрдЪреА рддреИрдпрд╛рд░ рдХрд░рдиреЗ рдХреЗ рдХрд╛рд░реНрдп рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░рдирд╛ рдкрдбрд╝рд╛ред рдФрд░ рд╡рд╣ рдпрд╣ рдЬрд╛рдирдХрд░ рдЖрд╢реНрдЪрд░реНрдпрдЪрдХрд┐рдд рдереА рдХрд┐ рдРрд╕реЗ рдкреНрд░рддреАрдд рд╣реЛрдиреЗ рд╡рд╛рд▓реЗ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдХрд╛рд░реНрдп рдХреЗ рд▓рд┐рдП, PyPi рдХреЗ рдкрд╛рд╕ рдПрдХ рднреА рдкреБрд╕реНрддрдХрд╛рд▓рдп рдирд╣реАрдВ рд╣реИред рдЗрд╕рд▓рд┐рдП, рдЗрд╕ рдХрд╖реНрдЯрдкреНрд░рдж рдЪреВрдХ рдХреЛ рдареАрдХ рдХрд░рдиреЗ рдФрд░ рдЗрд╕рдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЛ рдкреНрд░рдХрд╛рд╢рд┐рдд рдХрд░рдиреЗ рдХрд╛ рдирд┐рд░реНрдгрдп рд▓рд┐рдпрд╛ рдЧрдпрд╛ред


рдЖрдк рдХрдВрд╕реЛрд▓ рдореЗрдВ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рдХреЗ PyPi рд╕реЗ рдкреИрдХреЗрдЬ рд╕реНрдерд╛рдкрд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:


pip install python-telegram-bot-pagination

IngramKeyboardPaginator рд╡рд░реНрдЧ рд╕реЗ telegram_bot_pagination рдкреИрдХреЗрдЬ рд╕реВрдЪреА рдкреГрд╖реНрдареЛрдВ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдиреЗрд╡рд┐рдЧреЗрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЗрдирд▓рд╛рдЗрди рдмрдЯрди рдХрд╛ рдПрдХ рд╕реЗрдЯ рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛ рдЖрд╕рд╛рди рдмрдирд╛рддрд╛ рд╣реИред рдбрд┐рдЬрд╛рдЗрдирд░ рдХреЛ рдЙрди рдкреГрд╖реНрдареЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИ рдЬрд┐рдирдореЗрдВ рддрддреНрд╡реЛрдВ рдХреА рд╕реВрдЪреА рд╡рд┐рднрд╛рдЬрд┐рдд рд╣реИ, рд╕рд╛рде рд╣реА рдмреЙрдЯ рдмрдЯрди рджрдмрд╛рдХрд░ рд▓реМрдЯрд╛рдП рдЧрдП рдбреЗрдЯрд╛ рдХреЛ рдЙрддреНрдкрдиреНрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╡рд░реНрддрдорд╛рди рдкреГрд╖реНрда рдФрд░ рдкреИрдЯрд░реНрдиред рдЙрд╕рдХреЗ рдмрд╛рдж, рдкреЗрдЬрд┐рдиреЗрдЯрд░ рд╕реНрд╡рдпрдВ рдЖрд╡рд╢реНрдпрдХ рдХреАрдмреЛрд░реНрдб рдмрдирд╛рдПрдЧрд╛, рдЬреЛ рдорд╛рд░реНрдХрдЕрдк рд╕рдВрдкрддреНрддрд┐ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЙрдкрд▓рдмреНрдз рд╣реЛрдЧрд╛ред


from telegram_bot_pagination import InlineKeyboardPaginator

paginator = InlineKeyboardPaginator(
        10,
        current_page=1,
        data_pattern='elements#{page}'
    )

рдЕрдм paginator.markup sendMessage Telegram Bot API рд╡рд┐рдзрд┐ рдХреЗ рдЙрддреНрддрд░_рдорд╛рд░реНрдХрдЕрдк рдлрд╝реАрд▓реНрдб рдХреЗ рд▓рд┐рдП рдПрдХ json рдСрдмреНрдЬреЗрдХреНрдЯ рд▓реМрдЯрд╛рдПрдЧрд╛ред рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рдкрд╛рдВрдЪ рдмрдЯрди рдмрдиреЗрдВрдЧреЗред рдпрджрд┐ рдкреГрд╖реНрдареЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдкрд╛рдБрдЪ рдпрд╛ рдЙрд╕рд╕реЗ рдХрдо рд╣реИ, рддреЛ рдмрдЯрди рд╕рдВрдЧрдд рд░реВрдк рд╕реЗ рд╣реЛрдВрдЧреЗред рдпрджрд┐ рдХреЗрд╡рд▓ рдПрдХ рдкреГрд╖реНрда рд╣реИ, рддреЛ рдорд╛рд░реНрдХрдЕрдк рд░рд┐рдХреНрдд рд╣реЛрдЧрд╛ред рдпрджрд┐ рдкрд╛рдВрдЪ рд╕реЗ рдЕрдзрд┐рдХ рдкреГрд╖реНрда рд╣реИрдВ, рддреЛ рдХреАрдмреЛрд░реНрдб рдореЗрдВ 5 рдмрдЯрди рд╣реЛрдВрдЧреЗ:


  • рдкрд╣рд▓рд╛ рдкрдиреНрдирд╛;
  • рдкрд┐рдЫрд▓рд╛ рдкреГрд╖реНрда;
  • рд╡рд░реНрддрдорд╛рди рдкреГрд╖реНрда;
  • рдЕрдЧрд▓рд╛ рдкреГрд╖реНрда;
  • рдЕрдВрддрд┐рдо рдкреГрд╖реНрдаред

рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдпрджрд┐ рд╣реИрд░реА рдкреЙрдЯрд░ рд╡рд░реНрдгреЛрдВ рдХрд╛ рд╡рд░реНрдгрди рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдЪрд░рд┐рддреНрд░реЛрдВ рдХреА рдПрдХ рд╕рд░рдгреА рд╣реИ рдЬрд┐рд╕рдореЗрдВ рдПрдХ рдмреЙрдЯ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд╡рд░реНрдгреЛрдВ рдХреА рд╕реВрдЪреА рдкреНрд░рджрд░реНрд╢рд┐рдд рд╣реЛрддреА рд╣реИ, рддреЛ рд╣рдореЗрдВ рдПрдХ рдлрд╝рдВрдХреНрд╢рди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ рдЬреЛ рд╡рд░реНрддрдорд╛рди рд╕реВрдЪреА рдкреГрд╖реНрда рдХреЛ рднреЗрдЬрддрд╛ рд╣реИ:


def send_character_page(message, page=1):
    paginator = InlineKeyboardPaginator(
        len(character_pages),
        current_page=page,
        data_pattern='character#{page}'
    )

    bot.send_message(
        message.chat.id,
        character_pages[page-1],
        reply_markup=paginator.markup,
        parse_mode='Markdown'
    )

рдФрд░ рдмреЙрдЯ рдореЗрдВ рдмрдЯрди рд╣реИрдВрдбрд▓рд░:



@bot.callback_query_handler(func=lambda call: call.data.split('#')[0]=='character')
def characters_page_callback(call):
    page = int(call.data.split('#')[1])
    bot.delete_message(
        call.message.chat.id,
        call.message.message_id
    )
    send_character_page(call.message, page)

* рдЙрджрд╛рд╣рд░рдг рдмреЙрдЯ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП pyTelegramBotAPI рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред


рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рдкреВрд░реНрдг рдХреЛрдб рдпрд╣рд╛рдВ рдкрд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ ред


рд╕реВрдЪреА рдореЗрдВ рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐рдпреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдкрд░рд┐рдгрд╛рдо, рдЗрд╕ рддрд░рд╣ рджрд┐рдЦреЗрдЧрд╛:





рдзреНрдпрд╛рди рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдкрдХреЛ рдзрдиреНрдпрд╡рд╛рджред рдореБрдЭреЗ рдХрд┐рд╕реА рднреА рд░рдЪрдирд╛рддреНрдордХ рдЖрд▓реЛрдЪрдирд╛ рдореЗрдВ рдЦреБрд╢реА рд╣реЛрдЧреАред


All Articles