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

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

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

13 ответов

27 просмотров

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

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

aiogram dialog

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

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

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

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

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

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

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

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

m dar
Например?

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

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

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

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

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

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

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

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
Карта сайта