Size: a a a

2020 August 07

ф[

фрайдей [полиморфен]... in aiogram [ru]
Но конкретно этот, созданный в готовом сервисе по нажатию одной кнопки - не стоит ничего
источник

️️

️️👑OGURCHIK 🖤 ️... in aiogram [ru]
фрайдей [полиморфен]
Крутой по функциональности
если бы конструктор прост о ботов да. а это конструктор магазинов
источник

️️

️️👑OGURCHIK 🖤 ️... in aiogram [ru]
там это все уже под капотом
источник

ф[

фрайдей [полиморфен]... in aiogram [ru]
Ну я про это
источник

T

Tishka17 in aiogram [ru]
фрайдей [полиморфен]
Но конкретно этот, созданный в готовом сервисе по нажатию одной кнопки - не стоит ничего
Я говорю, столько денег стоит описать что в нем должно быть
источник

T

Tishka17 in aiogram [ru]
️️👑OGURCHIK 🖤 ️
если бы конструктор прост о ботов да. а это конструктор магазинов
Хм. Ок
источник

L

L in aiogram [ru]
```
@dp.message_handler(state=CreateCompany.ADMIN_MENU, text=AdminPanel.all())
async def admin_panel_handler(message: types.Message):
   state = dp.current_state(user=message.from_user.id)
   await state.set_state(AdminPanel.EVENTS)
   return SendMessage(...)

@dp.message_handler(Text(equals='Назад'), state=AdminPanel.EVENTS | AdminPanel.USERS | AdminPanel.MY_COMPAINES)
async def back_main_menu(message: types.Message):
   await CreateCompany.ADMIN_MENU.set()
   return SendMessage(message.chat.id, A_BACK_TO_ADMIN_PANEL_MSG, reply_markup=ADMIN_PANEL_KB)
```
Всем доброго времени суток. Может кто подсказать , в чем трабл.

Есть 2 обработчика , сначала вызывается обработчик
admin_panel_handler
, который устанавливает state в
AdminPanel.EVENTS
, затем нажимается кнопка Назад , а второй обработчик
back_main_menu
не срабатывает.

Если у второго обработчика поставить state='*' , то он срабатывает. Проверял в первом обработчике какой state стоит всё норм , в редис заглянул тоже все норм.

Я что то неправильно делаю?)
источник

К

Костя in aiogram [ru]
L
```
@dp.message_handler(state=CreateCompany.ADMIN_MENU, text=AdminPanel.all())
async def admin_panel_handler(message: types.Message):
   state = dp.current_state(user=message.from_user.id)
   await state.set_state(AdminPanel.EVENTS)
   return SendMessage(...)

@dp.message_handler(Text(equals='Назад'), state=AdminPanel.EVENTS | AdminPanel.USERS | AdminPanel.MY_COMPAINES)
async def back_main_menu(message: types.Message):
   await CreateCompany.ADMIN_MENU.set()
   return SendMessage(message.chat.id, A_BACK_TO_ADMIN_PANEL_MSG, reply_markup=ADMIN_PANEL_KB)
```
Всем доброго времени суток. Может кто подсказать , в чем трабл.

Есть 2 обработчика , сначала вызывается обработчик
admin_panel_handler
, который устанавливает state в
AdminPanel.EVENTS
, затем нажимается кнопка Назад , а второй обработчик
back_main_menu
не срабатывает.

Если у второго обработчика поставить state='*' , то он срабатывает. Проверял в первом обработчике какой state стоит всё норм , в редис заглянул тоже все норм.

Я что то неправильно делаю?)
state=AdminPanel.EVENTS | AdminPanel.USERS | AdminPanel.MY_COMPAINES

ты уверен, что так можно?
источник

L

L in aiogram [ru]
Костя
state=AdminPanel.EVENTS | AdminPanel.USERS | AdminPanel.MY_COMPAINES

ты уверен, что так можно?
class ListItem(Item):
   """
   This item is always a list

   You can use &, | and + operators for that.
   """

   def add(self, other):
       return self + other

   def __get__(self, instance, owner):
       return ItemsList(self._value)

   def __getitem__(self, item):
       # Only for IDE. This method is never be called.
       return self._value

   # Need only for IDE
   __iadd__ = __add__ = __rand__ = __and__ = __ror__ = __or__ = add

ну вот из кода либы , объявление класса ListItem

мой код AdminPanel:
class AdminPanel(Helper):
   mode = HelperMode.snake_case

   ADD_BOT_TO_CHAT = ListItem(value='Добавить бота в чат')
   EVENTS = ListItem(value='Мероприятия')
   USERS = ListItem(value='Пользователи')
   STATISTIC = ListItem(value='Статистика')
   MY_COMPAINES = ListItem(value='Мои Компании')
источник

К

Костя in aiogram [ru]
L
class ListItem(Item):
   """
   This item is always a list

   You can use &, | and + operators for that.
   """

   def add(self, other):
       return self + other

   def __get__(self, instance, owner):
       return ItemsList(self._value)

   def __getitem__(self, item):
       # Only for IDE. This method is never be called.
       return self._value

   # Need only for IDE
   __iadd__ = __add__ = __rand__ = __and__ = __ror__ = __or__ = add

ну вот из кода либы , объявление класса ListItem

мой код AdminPanel:
class AdminPanel(Helper):
   mode = HelperMode.snake_case

   ADD_BOT_TO_CHAT = ListItem(value='Добавить бота в чат')
   EVENTS = ListItem(value='Мероприятия')
   USERS = ListItem(value='Пользователи')
   STATISTIC = ListItem(value='Статистика')
   MY_COMPAINES = ListItem(value='Мои Компании')
аа, ок. А чего стейты аиограмовские не используешь?
источник

L

L in aiogram [ru]
A State не позволяет так жонглировать , как я в коде прописал , это фича ListItem как я понял
источник

К

Костя in aiogram [ru]
L
A State не позволяет так жонглировать , как я в коде прописал , это фича ListItem как я понял
ну оно как-то не сработало))
источник

К

Костя in aiogram [ru]
хотя должно было по идее
источник

К

Костя in aiogram [ru]
сделай в хендлере только на один стейт твой проверку
источник

К

Костя in aiogram [ru]
если все работает, сделай несколько декораторов подряд с разными стейтами, пройдет ли
источник

L

L in aiogram [ru]
Я пробовал и по одному и на все. В редисе чекал стейт норм стоит , но второй обработчик вообще не чухает
источник

N

Nikki in aiogram [ru]
Планирую сделать игрушку для телеграма уровня Годвилля, какие подводные? Стоит ли пилить два языка или и на русском сойдет?
источник

N

Nikki in aiogram [ru]
Один хуй 2.5 человека будут тыкать
источник

А

Айван in aiogram [ru]
Nikki
Планирую сделать игрушку для телеграма уровня Годвилля, какие подводные? Стоит ли пилить два языка или и на русском сойдет?
А что будешь использовать для генерации истории?
источник

N

Nikki in aiogram [ru]
Айван
А что будешь использовать для генерации истории?
Корейский рандом очевидно
источник