Size: a a a

2020 May 16

q

quavo in aiogram [ru]
а action действие
источник

q

quavo in aiogram [ru]
смотри пример весь
источник

(

( ͡°Ĺ̯ ͡° ) in aiogram [ru]
Я смотрел его минут 15
сделал подобное(Без успешно)
источник

q

quavo in aiogram [ru]
покеж код тогда
источник

(

( ͡°Ĺ̯ ͡° ) in aiogram [ru]
Он успешно удален)
источник

(

( ͡°Ĺ̯ ͡° ) in aiogram [ru]
Ну я попробую еще раз, если не получиться, то к вам)
источник

Z

Zack!? in aiogram [ru]
Технопёс
если я правильно понимаю, то ты хочешь воплотить в жизнь ReplyButtons, то есть фильтр на какую-то коллекцию кнопок, а не на один вариант. Смутно представляю применение такому фильтру...)
Стараюсь придерживаться методологии «один Update - один хэндлер». Я изначально размечаю хэндлеры как точки входа для обработки, например:

# обработка реплай-кнопки «Назад»
handle_back_reply_button

# обработка инлайн-кнопки «OK»
handle_ok_inline_button

# обработка введённого имени
handle_name_message

И когда хэндлеры размечены и зарегистрированы, можно вписать в их тела саму логику. У меня это делается через делегирование задачи операционным исполнителям, но сейчас не об этом. Хотя для понимания картинки показать стоит:

async def handle_start_command(update, bot, fsm_context):
   await execute_hello(update, bot)
   await execute_main_menu(update, bot, fsm_context)

и возвращаясь назад, к вопросу об отлавливании множества кнопок, хочу спросить зачем? Разве не удобнее ловить что-то конкретное, и явно его кидать дальше по цепи? Это напоминает мне ньюбайскую схему с одним хэндлером на тип Message, и кучей if/elif в теле. Хэндлер должен обрабатывать одну задачу, и реагировать на определенную сущность. Обратная логика приведет к анархии в связях, нам пришлют один вариант из десяти ожидаемых, и мы кинем его дальше в толпу if/elif чтобы осуществить хоть какой-то роутинг
Да, всё верно
Только ради того, чтобы в обработчик стейта, отвечающий за обработку допустим ввода того же имени, при нарушенной логике регистрации, не залетал текст, кликнутый с клавиатуры, вот и всё))) Тут не о дереве if/elif)
Согласен, сценариев применения у такого хендлера совсем немного, но по началу мне казалось он сможет избавить от бОльшего количества проблем)))

В контексте телеклин бота, делегирование выглядит красиво и органично. Но так ли это будет, при расширении функционала бота?)
источник

Т

Технопёс in aiogram [ru]
Zack!?
Да, всё верно
Только ради того, чтобы в обработчик стейта, отвечающий за обработку допустим ввода того же имени, при нарушенной логике регистрации, не залетал текст, кликнутый с клавиатуры, вот и всё))) Тут не о дереве if/elif)
Согласен, сценариев применения у такого хендлера совсем немного, но по началу мне казалось он сможет избавить от бОльшего количества проблем)))

В контексте телеклин бота, делегирование выглядит красиво и органично. Но так ли это будет, при расширении функционала бота?)
у меня есть несколько огромных ботов, которые до сих пор удобно поддерживать. В телеклизме много чего не описано, это игрушечный пример для плавного вхождения.
Скажем так, это удобнее, чем
from main import bot
и удобнее в обслуживании, т. к. схема хэндлеров остается неизменной, при изменении логики. Помню некий некто выстрелил себе в ногу, вызывав хэндлер из хэндлера из хэндлера ...

А по поводу логики регистрации, просто не стоит её нарушать, это да. Описывая регистраторы нужно учитывать, что мы хотим разрулить в самом начале, примитивы. И уже потом, при надобности, регаем обработку произвольно вводимой информации (что нужно очень не всегда), поэтому никаких запар по этой части нет
источник

q

quavo in aiogram [ru]
так хочется почитать, что пишет учитель, но лень
источник

Т

Технопёс in aiogram [ru]
quavo
так хочется почитать, что пишет учитель, но лень
почитаешь еще, не волнуйся
источник

q

quavo in aiogram [ru]
😍😍😍
источник

Т

Технопёс in aiogram [ru]
я тебе аудиокнигу запишу
источник

ЕП

Евгений Петров... in aiogram [ru]
Технопёс
я тебе аудиокнигу запишу
исходники тоже голосом будешь запиывать?)

иф пробел два нижних подчёркивания нейм два нижних подчёркивания два знака равенства кавычка два нижних подчёркивания мэйн два нижних подчёркивания кавычка двоеточие новая строка один отступ...
источник

q

quavo in aiogram [ru]
учителю достаточно лишь сказать и все сразу встает на свои места
источник

Т

Технопёс in aiogram [ru]
Евгений Петров
исходники тоже голосом будешь запиывать?)

иф пробел два нижних подчёркивания нейм два нижних подчёркивания два знака равенства кавычка два нижних подчёркивания мэйн два нижних подчёркивания кавычка двоеточие новая строка один отступ...
источник

ЕП

Евгений Петров... in aiogram [ru]
вернул мне 2007-й
источник

Т

Технопёс in aiogram [ru]
quavo
учителю достаточно лишь сказать и все сразу встает на свои места
я вчера был в некондиции, если нужно, перезапишу по простому
источник

Т

Технопёс in aiogram [ru]
Евгений Петров
вернул мне 2007-й
😁😁😁
источник

q

quavo in aiogram [ru]
Технопёс
я вчера был в некондиции, если нужно, перезапишу по простому
да все ок
я в принципе все так же делаю, но вот последняя часть твоего урока мне помогла понять, почему именно так, а не иначе
источник

G

Gabben in aiogram [ru]
( ͡°Ĺ̯ ͡° )
Как я понимаю, это значение calldata
у этой штуки две функции:
new - Генерирует новую колбек дату с указанным префиксом, значениями и разделителем (: по умолчанию), которую ты потом помещаешь в инлайн кнопки
filter - Возвращает фильтр, по указанным значениям. Его ты указываешь там где и все фильтры.
filter() - значения у "частей" любые
filter(some_part="foo") - some_part равен "foo", остальные части - любое значение
filter(some_part="foo", yet_another_part="bar") - some_part равен foo, yet_another_part равен bar

частей может быть сколько угодно (главное уложится в 64кб), названия могут быть любые, названий в сгенерированной дате нет, только значения
источник