Size: a a a

2020 March 01

ᔕEᖇG in aiogram [ru]
ᔕEᖇG
message.content_type() оно?)
роботоет, спасибо
источник

ЕП

Евгений Петров in aiogram [ru]
class MyStates(StatesGroup):
   stage_1 = State()

@dp.message_handler(commands=["test"])
async def any_message(message: types.Message, state: FSMContext):
   await MyStates.stage_1.set()
   await message.answer("Переход на этап 2")

@dp.message_handler(state=MyStates.stage_1)
async def stage_2(message: types.Message):
   await message.answer("Я уже на этапе 2")


После перехода на этап 2, вызов команды /test будет всегда обрабатываться вторым хэндлером, хотя по логике должен первым. Баг или так задумано?
источник

g(

git commit suicide (андергравий) in aiogram [ru]
Евгений Петров
class MyStates(StatesGroup):
   stage_1 = State()

@dp.message_handler(commands=["test"])
async def any_message(message: types.Message, state: FSMContext):
   await MyStates.stage_1.set()
   await message.answer("Переход на этап 2")

@dp.message_handler(state=MyStates.stage_1)
async def stage_2(message: types.Message):
   await message.answer("Я уже на этапе 2")


После перехода на этап 2, вызов команды /test будет всегда обрабатываться вторым хэндлером, хотя по логике должен первым. Баг или так задумано?
state это обязательный фильтр, если он есть в одном хэндлере то и в остальных должен быть
источник

ЕП

Евгений Петров in aiogram [ru]
Ну т.е. это сейчас решается заменой первого хэндлера на @dp.message_handler(commands=["test"], state="*")
источник

AR

Alex RootJunior in aiogram [ru]
Евгений Петров
class MyStates(StatesGroup):
   stage_1 = State()

@dp.message_handler(commands=["test"])
async def any_message(message: types.Message, state: FSMContext):
   await MyStates.stage_1.set()
   await message.answer("Переход на этап 2")

@dp.message_handler(state=MyStates.stage_1)
async def stage_2(message: types.Message):
   await message.answer("Я уже на этапе 2")


После перехода на этап 2, вызов команды /test будет всегда обрабатываться вторым хэндлером, хотя по логике должен первым. Баг или так задумано?
Так все правильно, установлено состояние и обработчики работают только для него
источник

AR

Alex RootJunior in aiogram [ru]
Евгений Петров
Ну т.е. это сейчас решается заменой первого хэндлера на @dp.message_handler(commands=["test"], state="*")
Все правильно
источник

ЕП

Евгений Петров in aiogram [ru]
Ага, т.е. надо во всех хэндлерах явно указывать состояние (либо конкретное, либо *)
Понял
источник

g(

git commit suicide (андергравий) in aiogram [ru]
Евгений Петров
Ну т.е. это сейчас решается заменой первого хэндлера на @dp.message_handler(commands=["test"], state="*")
Да
источник

ЕП

Евгений Петров in aiogram [ru]
Спасибо
источник

G

Gabben in aiogram [ru]
Евгений Петров
Ага, т.е. надо во всех хэндлерах явно указывать состояние (либо конкретное, либо *)
Понял
* везде, где должно отрабатывать независимо от статуса
источник

ЕП

Евгений Петров in aiogram [ru]
Мерси
источник

ЕП

Евгений Петров in aiogram [ru]
Это бы ещё в документации отразить :)
источник

g(

git commit suicide (андергравий) in aiogram [ru]
Это отражено
источник

АМ

Алексей Мелолян in aiogram [ru]
легкий оффтоп, если можно: каким впном вы пользуетесь при разработке, если у вас заблокирована телега? виндскрайб печалит своими дисконнектами, а у большинства остальных впн "бесплатный" триал выражен в манибеке если не понравится первый оплаченный месяц. или взять прокси, прибить их к боту и не выделываться?
источник

G

Gabben in aiogram [ru]
Евгений Петров
Это бы ещё в документации отразить :)
ну так работают фильтры, стейты это фильтр
источник

ЕП

Евгений Петров in aiogram [ru]
Алексей Мелолян
легкий оффтоп, если можно: каким впном вы пользуетесь при разработке, если у вас заблокирована телега? виндскрайб печалит своими дисконнектами, а у большинства остальных впн "бесплатный" триал выражен в манибеке если не понравится первый оплаченный месяц. или взять прокси, прибить их к боту и не выделываться?
Свой Wireguard на арендованном сервере
источник

G

Gabben in aiogram [ru]
Алексей Мелолян
легкий оффтоп, если можно: каким впном вы пользуетесь при разработке, если у вас заблокирована телега? виндскрайб печалит своими дисконнектами, а у большинства остальных впн "бесплатный" триал выражен в манибеке если не понравится первый оплаченный месяц. или взять прокси, прибить их к боту и не выделываться?
источник

АМ

Алексей Мелолян in aiogram [ru]
спасибо, пошел смотреть)
источник

g(

git commit suicide (андергравий) in aiogram [ru]
Алексей Мелолян
легкий оффтоп, если можно: каким впном вы пользуетесь при разработке, если у вас заблокирована телега? виндскрайб печалит своими дисконнектами, а у большинства остальных впн "бесплатный" триал выражен в манибеке если не понравится первый оплаченный месяц. или взять прокси, прибить их к боту и не выделываться?
источник

D

Dmitry in aiogram [ru]
а вы же бота пишете чтобы он потом где-то хостился? Я вот на этом хосте и поднял себе vpn
источник