
Антон
23.08.2017
08:33:16
браузер - приложение которое делает запросы к твоему монолиту например

Jonas
23.08.2017
08:33:47
ок я понял я заблуждаюсь
а боты могут принимать json objects c моего api?

Fedor
23.08.2017
08:35:09

Google

Fedor
23.08.2017
08:35:33
боты - получают сообщения от телеграмма, что-то с этим делают и отвечают телеграмму
а вот как они будут работать с данными и как и куда отправлять - это уже забота программиста, который его пишет

Jonas
23.08.2017
08:36:39
то есть для каждого action надо делать два формата: json и html

Fedor
23.08.2017
08:37:13
либо так, если экшены совпадают, либо использовать grape для api на однельных юрлах
либо написать отдельное приложение с api которое будет работать с той же базой

Vasiliy
23.08.2017
08:37:55
боты вроде нихуя не могут, ток текст слать
попробуй для начала просто сообщение от бота получать и дальше поймёшь что к чему

Jonas
23.08.2017
08:38:56

No
23.08.2017
08:39:52
смогут

Vasiliy
23.08.2017
08:39:53
ну вообще да, ты как это представляешь? ты боту даёшь ссылку на твоё апи и он такой - о, Апи, ща разберусь

No
23.08.2017
08:40:04
смотреть в сторону api.ai
он, кстати, уже несколько месяцев как бесплатный полностью

Jonas
23.08.2017
08:41:30

Google

Vasiliy
23.08.2017
08:41:50
эм... ну начни приём хотя бы слова "Привет"

No
23.08.2017
08:42:37
а в чем трудность? ты получаешь слово "Привет", обрабатываешь как-то и засылаешь ответное сообщение от лица бота
можно реализовать самому (тут хз как), можно юзать сервисы специальные (выше линка есть) - там точно это реализуется сверхпросто
там суть в том, что api.ai сам выпарсит данные из сообщения, отправит на твой эндпоинт и получит респонс
из которого возьмет ответ и отправит его хоть в телеге, хоть в скайпе

Vasiliy
23.08.2017
08:43:54
ты работал с api.ai? ?

No
23.08.2017
08:44:15
читал доки долгую бессонную ночь

Vasiliy
23.08.2017
08:44:17
оно конечно ништяк на бумаге выглядит, но хз как оно работать с юзерами будет

No
23.08.2017
08:44:22
и запускал дефолтного бота
со словарем уже готовым
с эндпоинтами не взаимодействовал, но функционал там для этого есть и хорошо задокументирован

Vasiliy
23.08.2017
08:44:55

No
23.08.2017
08:45:17
это не реклама сервиса, если шо, я к нему никакого отношения не имею, просто говорю о возможности реализации данной идеи

Jonas
23.08.2017
08:45:17

Fedor
23.08.2017
08:45:20
бот - это программа, которая запускается по триггеру - пришедшему сообщению

Jonas
23.08.2017
08:45:39
бот будет обрабатывать его

Fedor
23.08.2017
08:45:49
выполняет свой код и отвечат сообщением отправителю
вот то, что происходит в промежутке - это любой, написанный тобой код

No
23.08.2017
08:46:10

Google

Fedor
23.08.2017
08:46:14
от запроса к апи, до подрыва атомной станции

No
23.08.2017
08:46:16
тобишь по факту обрабатывать будет не бот
а твоё апи
задача бота - отправить данные в апи, получить респонс, выдать ответ
это как я себе представляю )

Jonas
23.08.2017
08:47:11
точно

Vasiliy
23.08.2017
08:47:13
у нас просто есть сервис распознования голоса в текст, стандартизация и обработка и там всё не очень однозначно. Т.к. в твоей голове юзеры говорят, вбивают очень "правильные данные" а на деле они вбивают всё что в голову придёт

No
23.08.2017
08:47:31
это уже другой вопрос - вопрос как построить флоу получения данных
там кстати в блоге того же api.ai описано несколько типичных подходов для упрощения данной задачи
подходов универсальныз, даже если не юзать его

Vasiliy
23.08.2017
08:50:29
а твоё апи
немного не точно ? обрабатывать будет твой экшен, один, т.к. на сколько я помню вебхук цепляется на один урл

No
23.08.2017
08:50:37
да

No
23.08.2017
08:50:47
эндпоинт твоего апи, в любом раскладе ))

Vasiliy
23.08.2017
08:51:39
прост ща чувак прочитает, начнёт искать как привязать 100500 его роутов к бедному боту

Jonas
23.08.2017
09:06:00
Спасибо за советы)

No
23.08.2017
09:20:01
может сам обработает
может на другой эндпоинт забросит
такое специально не придумаешь )))

Vasiliy
23.08.2017
09:20:47
ну из экшена вызывать другой эндпоинт такая себе затея

Google

No
23.08.2017
09:21:00
если эндпоинт не часть твоей системы - другого варианта нет же )
если другой эндпоинт всмысле )
ребята, вопрос чисто риторический
схлестнулся в споре с java программистом
он говорит, что у них подход - запросить данные из ОРМ, после обработать приоритетнее нашего - запросить всё, что нужно в plain sql
это в случае допустим группировки большой таблицы
неужели у них язык настолько шустрее работает и не создает проблем?
у кого то есть опыт подобный?

Vasiliy
23.08.2017
09:36:41
в рельсе просто ActiveRecord паттерн используется, а там вроде DataMapper

Admin
ERROR: S client not available

v
23.08.2017
09:36:54
да какой угодно

Vasiliy
23.08.2017
09:37:11
ну ихний гибернейт попсовый

No
23.08.2017
09:37:14
меня просто удивило, что у них ок сделать что-то сложное с данными из базы не SQL
а с помощью ОРМ на самом бэкенде

Alexey
23.08.2017
09:37:39
это что за джава прогер был? EJB/Spring или Hibernate

No
23.08.2017
09:37:42
в рубях это обычно выливается в эндпоинты, работающие по 5-10 секунд
Hibernate

Fedor
23.08.2017
09:37:53
ява же

v
23.08.2017
09:37:55

Google

Fedor
23.08.2017
09:38:02
"85 гигабайт памяти должно хватить"
все дела )
чистый sql всегда будет быстрее обработки на бэкэнде
другое дело, что его писать дольше и поддерживать сложнее

Vasiliy
23.08.2017
09:38:42
вообще DataMapper так же и в жанге питоновской юзается и в Doctrine пэхэпэшной

No
23.08.2017
09:38:43

Fedor
23.08.2017
09:38:57
сильно зависит

Vasiliy
23.08.2017
09:38:57
(токо там всё равно в БД уходит всё)

v
23.08.2017
09:39:25

No
23.08.2017
09:39:53
да, но если ты допустим юзаешь стандартные функции БД - то что делать?

Anna
23.08.2017
09:39:59

No
23.08.2017
09:40:22

s
23.08.2017
09:40:23
вряд ли прям сырой, можно на jdbc реализовать достаточно сложную логику

v
23.08.2017
09:40:29
наверное это что-то да значит

s
23.08.2017
09:40:39
не всегда это будет pain sql

Anna
23.08.2017
09:41:14

s
23.08.2017
09:41:19
Ж)

Anna
23.08.2017
09:41:25
моя жизнь в 8 символах

v
23.08.2017
09:41:55
обмазался ты доменной лдогикой в три слоя
а под всеми этими слоями пишешь SELECT * FROM