можно, но точно ли нужно?
А как, не подскажешь?)
зачем.. мидлварь все равно к хендлеру цепляется только меняй Стейт в хендлере а то че за бомба скрытого действия, потом сам код не поймёшь, запутаешься, долго будешь разбираться а ещё, хуже того, привыкнешь таких дохлых крыс в коде оставлять, тебе никто потом спасибо не скажет, только за углом, пёрышком погладит по ребру оно тебе не надо соблюдай одно из правил хотя бы Явное лучше, чем неявное
Какую задачу ты решаешь?
Мне просто нужно установить определенный стейт, если в бд появляется запись. И сразу же перенаправить сообщение в хендлер с этим стейтом. А в каждом хендлере впадлу прописывать))
Чат между двумя пользователями
Так погоди, зачем тебе много хендлеров. Если ты имеешь ввиду, что когда был найден собеседник ты хочешь переключить человека на state общения, то у тебя только один хендлер должен быть.
Я хочу, чтобы когда пользователь нажимает кнопочку начать чат, то его собеседник мог сразу же отправлять ему сообщения, вне зависимости от его текущего стейта
Ну так у тебя получается кнопка и должна перекидывать на этот самый Стейт, зачем тебе много хендлеров для этого
Ну как у меня кнопка перекинет на этот стейт другого пользователя, так можно разве?
Какая версия aiogram?
просто в Стейт засовывай отправителя, и получателю в любом стейте кидай сразу же отправленное сообщение.....
Я кидаю ему сообщение в любом стейте, но он же должен еще отвечать
так пусть выйдет из стейта и зайдет в раздел ответа сообщений, тоже стейт какой-нибудь
(FSM context).get_state(user_id).set_state(...)
А лол, я не знал, что так можно)))))))))))))))))))))))
Мне над, чтоб без всяких разделов сразу мог отвечать
у меня теперь в самой БД ошибка лезет
ну так в мидлвари можешь проверять, если это реплай на сообщение от другого чела - пусть текст сообщения улетает отправителю
Это не сработало, но я нашел, как можно. state = dp.current_state(chat=chat_id, user=user_id) await state.set_state(My.state) Все равно спасибо большое)))
Я сначала это и хотел написать, но ввиду того, что у меня 12 ночи, написал не то)
Обсуждают сегодня