
Vitaly
13.03.2017
15:34:00

yegorf1
13.03.2017
15:34:00

denisx
13.03.2017
15:34:12

Vitaly
13.03.2017
15:34:15

Google

denisx
13.03.2017
15:35:15

George
13.03.2017
15:35:36
ну на node.js можно легковесный API сделать как прослойку и бота, как интерфейс для взаимодействия... - я думал в этом ключе. Причем можно будет юзать гибридно. А можно например на node.js сделать бэк, а бота на python... whatever... проект возможно будет для опенсурса... что там ща популярней - js или python?

Rocket
13.03.2017
15:36:21

George
13.03.2017
15:37:00
кстати про робочат давно слышал и знаю )

Vitaly
13.03.2017
15:37:02

Rocket
13.03.2017
15:37:40

Vitaly
13.03.2017
15:38:21
Это просто добавление хэндлера в цепочку. То есть можно сказать да )

Rocket
13.03.2017
15:39:06

Vitaly
13.03.2017
15:39:34
Я думаю похожее что то. Позже гляну как там в Джанго и скажу

Rocket
13.03.2017
15:39:56
У меня сейчас метания на тему - сделать pre/post handlers и chaining handlers.

George
13.03.2017
15:40:08
хых.. в js вот хрен многопоточно обработать данные.. в highload-проектах вроде критично

Vitaly
13.03.2017
15:42:00

Rocket
13.03.2017
15:42:49

Google

Vitaly
13.03.2017
15:42:55
Например?
Ну много точек расширения в смеси с лайфтаймом.
Цепочка проще и понятнее.
Да и более гибко

Rocket
13.03.2017
15:43:56

Vitaly
13.03.2017
15:44:04
Да ладно ))

Douglas
13.03.2017
15:44:17

George
13.03.2017
15:44:36
https://nodejs.org/docs/latest/api/cluster.html вот это насколько юзабельно, кто пробовал?

Vitaly
13.03.2017
15:45:29

George
13.03.2017
15:45:37
прикольный велосипед вроде.. 4-хколесный...
я понял. В общем мне пытаются объяснить что можно что угодно проимпрувить
тогда казуально выбираю Node.js

denisx
13.03.2017
15:46:49

Rocket
13.03.2017
15:47:59
Да ладно ))
Тут есть два противоречащих поинта.
Если делать pre/post, то будет меньше гибкости, но зато наглядность - сходу понятно что и как обрабатывается.
Если же делать chaining, то гибкости - хоть ложкой ешь, но пропадает наглядность и фильтры нужно будет вызывать для всех хендлеров - страдает производительность, если фильтры тяжелые.

George
13.03.2017
15:48:55
ыыы

denisx
13.03.2017
15:49:21

George
13.03.2017
15:49:46
пойду говнокодить. Пожелайте удачи

Vitaly
13.03.2017
15:49:49

Google

Vitaly
13.03.2017
15:53:29
Про гибкость все верно )

Rocket
13.03.2017
16:15:59

denisx
13.03.2017
16:17:03

Rocket
13.03.2017
16:25:05

denisx
13.03.2017
16:26:18

Rocket
13.03.2017
16:26:47

denisx
13.03.2017
16:27:03
ты вроде про питон писал

Vitaly
13.03.2017
16:27:24

Rocket
13.03.2017
16:27:37

Vitaly
13.03.2017
16:28:00
оке

denisx
13.03.2017
16:28:30

Rocket
13.03.2017
16:29:01

Vitaly
13.03.2017
16:56:35

Rocket
13.03.2017
16:57:06
А вот и нет ?

Vitaly
13.03.2017
16:57:25
В вот и да )))

Rocket
13.03.2017
17:11:08
В вот и да )))
Если я правильно понял твою модель, то выглядит это следующим образом(с питоньим синтаксисом нет проблем?):
@bot.on(is_message, is_user_registred, .... )
def some_handler(...):
...
все хендлеры заданные таким образом будут вызываны, если фильтры возвращают True
верно я понимаю?

Google

Vitaly
13.03.2017
17:12:35
не, on - это просто добавление в цепочку
даавай пример функционала - я накидаю код и объясню

Rocket
13.03.2017
17:13:35
гхм...
например, бот, который хранит заметки

Vitaly
13.03.2017
17:15:10
какие фильтры?
опиши функционал )

Rocket
13.03.2017
17:16:23
команда /list - показать все заметки
команда /add - добавить новую
команда /remove - удалить

Vitaly
13.03.2017
17:17:08
Сча накатаю
Хотя тут я не виду мидлварей )
Вижу

Rocket
13.03.2017
17:18:06
есть она тут - перед любым запросом достать юзера из базы - его настройки - язык, часовой пояс как минимум
хотя, у меня конкретно для этих целей задуманы экстракторы, но об этом отдельно подискутируем

Vitaly
13.03.2017
17:23:59
https://gist.github.com/dotcypress/f5700a53869ea4e2716fc3107b887d8f
вот, хотя опять таки - мидлвари там не нужны
нужен другой пример )
или давай расширю этот пример

Alan
13.03.2017
17:26:02
Господа, подскажите, а есть статистика сколько в среднем приходится юзеров на одного нормального ( в плане юзабилити) бота?

Rocket
13.03.2017
17:26:17
Можешь flow рассказать, а то я в синтаксисе js плаваю?

Vitaly
13.03.2017
17:26:27

Rocket
13.03.2017
17:26:47

Google

Alan
13.03.2017
17:27:36
От 1 до сотен тысяч
Вилка адовая, может есть ресурсы со статами популярных ботов? (можно свой на каждого бота)
/stat@combot

Combot
13.03.2017
17:28:02
combot.org/chat/-1001041869725

Vitaly
13.03.2017
17:29:08
Можешь flow рассказать, а то я в синтаксисе js плаваю?
вот, почитай этот файлик https://github.com/telegraf/telegraf/blob/develop/lib/core/composer.js
это просто цепочка обработчиков, но я накрутил немного хэлперов и можно строить крышесносящие деревья обработчиков.
Просто набор фактори, которые генерируют умные обработчики, типа если сообщение не мое - просто вызываю следующий обработчик, etc.

Rocket
13.03.2017
17:29:30
Vitaly, bot.use это preprocessor?

Vitaly
13.03.2017
17:29:45
это добавление обработчика в цепочку
все
просто добавление )
handlers.push(handler) - псевдокод

Rocket
13.03.2017
17:32:24
ты меня навел на мысль, пойду медитировать с карандашом

Vitaly
13.03.2017
17:32:56
классические миддлвари - знакомьтесь )

Rocket
13.03.2017
17:33:24
угу, похоже на то, что в django

Volond
13.03.2017
17:35:14

Rocket
13.03.2017
17:43:30

Volond
13.03.2017
17:51:29
А еще есть такая штука market://details?id=telegra.ph

Alan
13.03.2017
18:11:27

Volond
13.03.2017
18:17:27

Alan
13.03.2017
18:18:02