@botoid

Страница 182 из 4042
Евгений
07.10.2016
22:39:53
Раньше боялся этого, а ща минут за 15 сделал

Богдан
07.10.2016
22:45:15
+ бывает такое

Что боишься освоить что-то новое

А в итоге оказывается прост

Google
Богдан
07.10.2016
22:45:54
Я так свой фреймворк месяц писал

Пушо боялся готовых

Потом решил потыкать все таки и оказалось что все просто

Pavel
07.10.2016
23:22:39
Редиска вообще крутая вещь

Ramzes
07.10.2016
23:27:39
это такая жиза...

Я так свой фреймворк месяц писал

Пушо боялся готовых

Потом решил потыкать все таки и оказалось что все просто

Rocket
07.10.2016
23:52:28
А я таки написал

И доволен

Хотя не потому что другие не пошли

А потому что их тупо не было

Vitaly
07.10.2016
23:55:22
А я таки написал
А покажи, почитаю

Google
Rocket
07.10.2016
23:55:32
А нету

Vitaly
07.10.2016
23:55:40
а, точно, забыл совсем )

Rocket
07.10.2016
23:56:03
Но в крадце так

Асинхронщина на торнаде

Внутри машина состояний

Vitaly
07.10.2016
23:57:24
Классика :)

Rocket
07.10.2016
23:57:33
И куча магии - делегат на делегате и делегатом погоняет

В итоге, реальную работу по вызову апи телеги делает одна функция. Остальные - обертки

Vitaly
07.10.2016
23:58:49
Жаль что нельзя посмотреть ?

Rocket
07.10.2016
23:59:09
Код уже не актуален, т.к. написан еще в то время, когда не было инлайнов

Терпеть нужно что-то еще круче, типа менеджера контекстов

Опять же, в существующих только намеки на это

Vitaly
08.10.2016
00:00:24
Так а фсм чем не менеджер контекстов?

Vitaly
08.10.2016
00:00:52
FSM - машина состояний

Rocket
08.10.2016
00:02:27
А, понял

Нет, машина состояний теперь не катит

Потому что появились инлайн, которые могут быть стейтлес, а могут быть и стейтфул

Смешанное поведение

Я столкнулся с классической проблемой многопоточности в однопоточном асинхронном приложении

Google
Rocket
08.10.2016
00:04:56
Один запрос еще выполняется, когда другой уже приехал

Vitaly
08.10.2016
00:04:56
Rocket
08.10.2016
00:05:07
Vitaly
08.10.2016
00:05:14
неправда )

это как делать )

Rocket
08.10.2016
00:05:43
У меня сейчас так и сделано, но есть куча исключительных ситуаций

Vitaly
08.10.2016
00:06:07
например?

Rocket
08.10.2016
00:06:13
Например, когда инлайн то зависит от контекста, а то не зависит

Например, у меня чат

Я там хочу сделать динамический список юзеров

Ну, со страницами

Страницы переключаются инлайн-кнопками. И очевидно, что это стейтлес запросы.

Vitaly
08.10.2016
00:07:28
ну так ты те коллбэки что для листалки пускай на уровень где у тебя состояние, а стейтлесс обрабатывай раньше

Rocket
08.10.2016
00:08:23
Но так же у меня есть и приватные сообщения. И я хочу сделать чтобы ответить на приватное сообщение можно было через инлайн кнопуу

Vitaly
08.10.2016
00:08:24
как цепочка обработчиков: динамически роутить апдейтов в зависимости от апдейта IOC етить его мать!

Rocket
08.10.2016
00:08:29
Это уже стейтфул

И они должны работать одновременно

Vitaly
08.10.2016
00:09:02
а что мешает им вместе сейчас работать?

Rocket
08.10.2016
00:09:30
Для этого мне нужен не просто конечный автомат, а менеджер контекстрв

Он в конечном счёте тот же автомат, но с более высокой абстракцией

Google
Vitaly
08.10.2016
00:10:06
нет, конечный автомат просто должен быть необязательным, в зависимости от сообщения

Rocket
08.10.2016
00:10:38
Ну так и я об этом

Vitaly
08.10.2016
00:10:45
Он в конечном счёте тот же автомат, но с более высокой абстракцией
Я вечерком попробую нарисовать что я имею ввиду и скину тебе

Rocket
08.10.2016
00:10:57
Часть запросов обрабатываться в любом контексте

Vitaly
08.10.2016
00:10:59
как у меня сделано

Rocket
08.10.2016
00:11:06
А часть, только в определенных

И любой обработчик может переключить контекст

Vitaly
08.10.2016
00:11:52
это все лишь вопрос уровня на котором ры роутишь сообщение по боту

Rocket
08.10.2016
00:12:02
Это можно и в рукопашную сделать

Vitaly
08.10.2016
00:12:10
просто у тебя будет микророутинг до машины состояний

Admin
ERROR: S client not available

Rocket
08.10.2016
00:12:18
У меня сейчас так и сделано

Но хочется красиво ?

Vitaly
08.10.2016
00:12:39
а что тут некрасивого?

ну я код не видел, но идея здравая

Rocket
08.10.2016
00:12:54
Куча взаимозависимого кода

Vitaly
08.10.2016
00:13:29
в подходе или у тебя? ))

Rocket
08.10.2016
00:13:50
В подходе

Грубо говоря, я сейчас переключаю хендлеры

А хочу переключать контекст, а о хендлерах позаботится менеджер

Google
Vitaly
08.10.2016
00:15:33
В чем принципиальная разница?

Rocket
08.10.2016
00:15:57
Хочу переключать состояние глобально

Vitaly
08.10.2016
00:16:14
Хочу не аргумент

Rocket
08.10.2016
00:16:39
Тоесть, не важно какой будет следующий запрос, менеджер позаботится об этом и вызовет нужный хендлер

Vitaly
08.10.2016
00:17:24
Ну так это немного кода )

Rocket
08.10.2016
00:17:27
Сейчас же я могу только переключить отдельный хендлер, который ловит стейтфул(message), а инлайны всегда сами по себе живут

Это работает, но не красиво

Vitaly
08.10.2016
00:18:03
В консерватории нужно что то менять )

Rocket
08.10.2016
00:18:31
Фреймворк написан под первые версии апи

И с тех пор внешние условия поменялись

Vitaly
08.10.2016
00:19:14
Ну так перепиши )

И в опенсорс

Будет о чем поспорить предметно )

Rocket
08.10.2016
00:19:56
До того как появились инлайны, он прекрасно решал свою задачу, был простой и красивый

Все запросы были стейтфул

Vitaly
08.10.2016
00:20:55
А какой сейчас норм фраймворк под питон?

Rocket
08.10.2016
00:21:13
Я юзаю только своё

Vitaly
08.10.2016
00:21:40
Понятно

Rocket
08.10.2016
00:21:49
Но telebot, имхо, не плох

Судя по докам

Vitaly
08.10.2016
00:22:23
Посмотрю счас

Rocket
08.10.2016
00:23:13
telepot

http://telepot.readthedocs.io/en/latest/

Страница 182 из 4042