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

Друзья, есть ли в аиограмме возможность триггерить хендлеры вручную, без

условных действий пользователем? Например, я хочу сделать инлайн кнопку назад, в хендлере которой я буду получать из машины состояний информацию по хендлеру, в который пользователь должен вернуться, а потом со стороны бота этот хендлер дёрнуть.

13 ответов

23 просмотра

Зачем вообще такое может пригодиться?

m-dar Автор вопроса

aiogram dialog

m-dar Автор вопроса
Devils Servant
aiogram dialog

Не похоже на то что мне нужно

"а потом со стороны бота дёрнуть" - зачем?

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

m-dar Автор вопроса
Tishka17
"а потом со стороны бота дёрнуть" - зачем?

Я чуть не пошёл опять изобретать велосипед, забыл что можно просто создавать каждый раз кнопку с коллбек датой хендлера в который нужно вернуться. Но мне кажется что можно задуматься над такой фичей, как отправка апдейтов со стороны бота, чтобы тригерить хендлеры. Мне кажется могут быть случаи, когда нужно без костылей вызвать функцию какого-либо хендлера без участия пользователя. Может даже и я смогу это написать на досуге если должным образом изучу сорс аиограма.

m dar
Я чуть не пошёл опять изобретать велосипед, забыл ...

Такая фича есть у меня в диалогах, но оно вызывает много вопросов

m dar
Например?

Например, мидлвари надо под это подстроить

m-dar Автор вопроса
Tishka17
Например, мидлвари надо под это подстроить

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

m dar
Ну, если при триггере хендлера будет конструироват...

Тогда логика нарушится, потому что по факту тип сообщения другой должен быть

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

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

Какой-то там пердун в 90-х решил, что есть какая-то разная типизация. Кого вообще это волнует?
КТ315
49
void terminal_scroll() { memmove(terminal_buffer, terminal_buffer + VGA_WIDTH, buffer_size - VGA_WIDTH); memset(terminal_buffer + buffer_size - VGA_WIDTH, 0, VGA_WIDTH); ...
Егор
47
Всем привет! Подскажите, пожалуйста, в чем ошибка? Настраиваю подключение к MySQL. Либы лежат рядом с exe. Все как по "учебнику"
Евгений
16
А можете как-то проверить меня по знаниям по ассемблеру?
A A
132
Здравствуйте! У меня появилась возможность купить книгу "Изучай Haskell во имя добра!". Но я где-то слышал, что эта книга устарела. Насколько это правда??
E
22
Здравствуйте! Я вот на stepic решаю задачи на хаскеле https://stepik.org/lesson/8443/step/8?unit=1578 мой код import Data.List (isInfixOf) removing :: String -> [String] ->...
E
10
Камрады, кто тесно работал с vtv, хотел уточнить. Ширина column задаётся жёстко на этапе создания дерева или можно в рантайме ее менять программно (не мышкой)?
Ed Doc
10
да ладно ... что там неочевидного ? глянуть в исх-ки датасета и/или кверика чтобы понять в каком месте и как выполняется обращения к св-вам blablaSQL - минутное дело, даже е...
Сергей
7
Здесь для arm кто-нибудь кодит ?
Nothing
52
Всем привет, у меня есть сервер принимающий входящие HTTP подключения, как проверить, что подключение было через прокси или нет, есть какие то поля в заголовках по которым мо...
DS
8
Карта сайта