169 похожих чатов

Товарисчи, есть у кого простенький пример пагинации кнопок? трабла в

том что кнопок рандомное количество, не могу чет ничего найти

20 ответов

88 просмотров

Советую изучать aiogram dialog, очень интересная и функциональная библиотека

Art- Автор вопроса
Не ☁
Советую изучать aiogram dialog, очень интересная и...

да, нашел такую. но как то не понимаю как она работает. когда начинаю ее внедрять, у меня весь код ломается. подозреваю что ломается когда начинаю регистрировать диалог..

Art- Автор вопроса
Не ☁
Ладно, сейчас что ни будь да найдём

я нашел один хороший пример. вот тут: https://pythonru.com/primery/funkcionalnost-telegram-bota но оказалось что там пагинация расчитана на статичное кол-во кнопок. а у меня кол-во кнопок плавает постоянно. обычно от 1 до 150

Art- Автор вопроса
Не ☁
Какой то пиздец

в примере? или в моем случае с количеством?)

Art- Автор вопроса
Не ☁
В примере

я не знаю, долго разбирался, поудолял все что было можно, но потом понял что пагинация там кастированая. кучу времени потратил(

У меня в поисковом диалоге пагинация кнопок. Ещё не доделана, но проблем нет

Art- Автор вопроса
Art
а чем делал?

Да, вручную делал. Более конкретный вопрос нужен) Там ещё нюанс - у меня FSM вообще нет. Всё хранится в колбэках. То есть в колбэке уже передаётся номер страницы и поисковый запрос. Дальше, когда приходит колбэк по запросу вычисляется количество результатов (кнопок) и страниц.

Art- Автор вопроса
Oleg Romanov
Да, вручную делал. Более конкретный вопрос нужен) ...

вот я тоже нашел пример с колбэками, но что то не могу вникнуть как сделать листание назад, вперед. а список или словарь пронумировывал? смещение или чет типа того делал?

Art
вот я тоже нашел пример с колбэками, но что то не ...

У меня состояние сообщения описывают параметры колбэка. То есть, чтобы перелистнуть страницу назад или вперёд надо в кнопке перелистывания вперёд (назад) передать все те же самые параметры, но со страницей +1 (-1). Уже когда приходит колбэк смотришь, если меньше 1 или больше общего количества страниц - выставляешь выдаёшь последнюю или первую страницу. Ну и надо проверку сделать на случай, если результатов меньше одной страницы, тогда кнопки перелистывания делать не надо. Это основа, а дальше уже хоть кнопки с номерами страниц можно добавлять

Art- Автор вопроса
Oleg Romanov
У меня состояние сообщения описывают параметры кол...

угу. спасибо, в теории понятно) попробую на практике применить

Art
угу. спасибо, в теории понятно) попробую на практи...

Я вдохновлялся механикой пагинацит @fmusbot - там можно посмотреть как поиск работает

Art- Автор вопроса
Oleg Romanov
Я вдохновлялся механикой пагинацит @fmusbot - там ...

вооо. прям то что мне нужно.... может и код где то есть подобный?

Art
вооо. прям то что мне нужно.... может и код где то...

Ну, я полный аналог реализовал, но как там код конкретно пагинации из всего выделить не очень понятно. Может, вечером чего скину

Art- Автор вопроса
Oleg Romanov
Ну, я полный аналог реализовал, но как там код кон...

скинь плиз. я как нибудь попробую разобраться

Похожие вопросы

Обсуждают сегодня

30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
6
Всем привет! Имеется функция: function IsValidChar(ch: UTF8Char): Boolean; var i: Integer; ValidChars: AnsiString; begin ValidChars := 'abcdefghijklmnopqrstuvwxyzABCDE...
Евгений
44
Карта сайта