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

Ребята, всем привет. Может-то сможет помочь, направить в нужном направлении.

Расскажу, что делаю сам, но думаю аналогичные штуки есть и в других задачах.

Делаю бота с кучей сценариев общения и процессов. Один процесс может перетекать в другой, как в начало так и в середину. В библиотеке aiogram есть шикарная машина состояний FSM, где можно заранее определить этапы/шаги и перемещаться по ним, но задействовать несколько - только через БД и с кучей неудобного кода. Когда процессов больше 5 уже начинается неповоротливость в коде.

Хочу найти решение, чтобы отрисовать все процессы, например в BPMN или UML. На выходе это XML, который можно разобрать, но изобретать велосипед такое-себе.

Может есть что-то уже готовое, чтобы можно было «подружить» нарисованные процессы с кусками кода/функциями?

10 ответов

14 просмотров

Мою aiogram_dialog попробуй https://aiogram-dialog.readthedocs.io/en/latest/tools.html#state-diagram

Boris-Evdeev Автор вопроса
Tishka17
Мою aiogram_dialog попробуй https://aiogram-dialo...

Если правильно понял, беглым взглядом - это из когда в картинку, чтобы посмотреть результат. А в обратную сторону можно?

Boris Evdeev
Если правильно понял, беглым взглядом - это из ког...

Не. Я разочаровался в кодогенерации по xml. Слишком много уточнять и править все равно приходится.

делается левой пяткой и 5 минут чтения документации на graphviz

Boris-Evdeev Автор вопроса

Я хочу написать код, а потом задействовать его по схеме UML/BPMN. Прыгать по коду и прописывать связи - не удобно

Boris Evdeev
Я хочу написать код, а потом задействовать его по ...

Ну а дальше с этим BPMN что делать собираетесь? если вопрос в простой визуализации, зачем в это вообще влезать? graphviz очень простой

Boris-Evdeev Автор вопроса
Pavel Zheltouhov
Ну а дальше с этим BPMN что делать собираетесь? ес...

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

Tishka17
Мою aiogram_dialog попробуй https://aiogram-dialo...

а, так это ведь тоже grapviz, просто эти иконки сбивают с толку

Pavel Zheltouhov
а, так это ведь тоже grapviz, просто эти иконки сб...

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

Boris Evdeev
Если добавится новый сценарий, чтобы под него допи...

именно так диалоги и работают. Описал новый диалог, а потом добавил его старт откуда надо

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

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

Мужики и девушки, привет) в Вelphi xe7 в настройках во вкладке "Editor Options" далее " Color" есть список: "Elements", открыв который мы можем настраивать отображение разных...
Kraszx
14
Добрый вечер. Есть вопрос, а может и предложение. Был у меня диалог в другой группе о делфи и я задался вопросом: "А нельзя ли в делфи цвет //коментария и {комментария} сде...
Kraszx
24
как быть с принтером? такой подход прокатит?
zamtmn
12
Всем привет! Подскажи, пожалуйста, как передать в TComboBox сразу значение и id записи. На Delphi я делал так: ComboBox1.Items.AddObject('Какое-то значение', Pointer(id запис...
Евгений
13
Мдя, прикол, боевая сборка запускается (именно под отладчиком) после F9 примерно полторы минуты (97 секунд если быть точным). Начал копать - проблема детектится сразу - зависа...
Александр (Rouse_) Багель
38
А вот это что за конструкция? Вернее, она тут нафига?
Serjone
10
Привет. Подскажите, как правильно сматчить лист фиксированного размера, чтобы компилятор не говорил мне о неполном паттерне? Допустим что-то такое [x', y'] = sort [x, y]?
Arseny
8
Здравствуйте, вопрос по структурам данных. Были у вас случаи, когда пришлось писать деревья или двунаправленные списки?
/ /
50
Товарищи, кто работа с iphelper? Или может я в самой логике ошибки фигачу, не пойму.... var ifTable : PMIB_IFTABLE; size, corSize: DWORD; Buffer ...
Warfarellen
4
Мужики. привет) в Вelphi xe7 в настройках во вкладке "Editor Options" далее " Color" есть список: "Elements", открыв который мы можем настраивать отображение разных элементов...
Kraszx
2
Карта сайта