Случайны выбор дневника Раскрыть/свернуть полный список возможностей


Найдено 2983 сообщений
Cообщения с меткой

бот - Самое интересное в блогах

Следующие 30  »
rss_rss_hh_new

Автоматизация при помощи бота или как из истерии по роботам сделать полезное решение

Пятница, 27 Мая 2016 г. 16:04 (ссылка)


За то долгое время, что мы не писали, произошло невероятное количество событий. Начнем с того, что в мире набирает обороты ажиотаж вокруг чат-ботов, про них говорят и пишут столько, что уже хочется установить информационный фильтр, и понятно почему. Шума много, но все больше вопросов из серии: «А где результат? Где кейсы?» Мы согласны с этими вопросами, поэтому добавим немного ответов.



image



Чат-боты в своей деятельности мы используем примерно 7 месяцев. Сначала мы использовали их для внутренней работы с магазинами-партнерами.

Например, когда приходит заказ, то магазину в телеграмм падает сообщение о том, что «Пришел заказ», магазин прямо в мессенджере может поменять статус заказа, узнать подробности о заказе и т.п. Дальше с помощью Телеграма мы автоматизировали процесс передачи заказа. Например, магазин не может выполнить заказ (нет в наличии цветов, курьеров и т.п.) мы можем в 1 клик отправить заказ всем магазинам Москвы, которые подключены к нашему каналу. Происходит своего рода тендер. Магазины торгуются за заказ в течение 7 минут. Обязательным условием является снижение цены. Торги происходят прямо в мессенджере. После завершения торгов заказ автоматически назначается победителю.

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



image



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



Буквально недавно мы реализовали перенос бота для магазинов из Телеграма в Facebook.

Все же про Facebook знает больше людей, что про Телеграм. У многих уже есть мессенджер на телефоне и не нужно качать новое приложение. Мы уверены, что в будущем появится возможность создавать внутри мессенджера целые админки или веб сайты. Зачем ”пилить” свое приложение, если можно реализовать все на базе популярного? Быстро+удобно+дешево = профит!



image



Немного о чат-боте Facebook.



Плюсы:



— он более юзабельный, чем телеграмм, как по мне.



— аудитория — это очень большой плюс, все же 800 млн. человек дает почти в 2 раза больше преимущество.



— функционал даже в первой «сырой» версии гораздо более развернутый по своим задаткам, чем в телеграмм. Интересно, что будет в новой версии.



Минусы:



— отсутствие «заточенной» под ботов рекламы прямо в Фейсбук. Хотя почему бы не дать эту возможность уже на старте работы?



— непростая модерация чат-ботов в Фейсбук. Так, для понимания, чтобы создать чат-бота в Телеграмм нужно написать пару строк, и, вуаля, все готово, никакой модерации нет. А тут нужно пройти путь практически выкладки приложения для iOS. Хм, странно, но может быть в будущем себя оправдает. Возможно со временем что-то изменится и модерация будет быстрее. У нас она заняла 2 дня. И тестировалась она реальными людьми.



image



Если говорить про покупки прямо в мессенджере, то могу сказать, что люди пока очень неактивно там покупают и в этом я вижу несколько причин:



Во-первых, крайне плохая проработка чат-ботов для человека. Разработчики пытаются «впихнуть» все с сайта в бота. И из этого выходит каша. Нужно понимать, что чат-бот, как и приложение, как и UX на экране смартфона — это особенная штука и следует подходить к этому с особыми знаниями и пониманием кейсов поведения людей в той или иной ситуации. Но сейчас просто нет пока что хороших специалистов, которые бы разбирались в этом, поэтому продукты в этой области делаются сырые и не доделанные.



Так как мы в Flowwow фанаты UX и дизайна интерфейсов, то мы сразу решили подойти к этому с определенным подходом простоты и не привязывались к сайту-маркетплейсу. Если коротко, то в чат-боте не нужны 80 тыс. товаров. Нужно просто, быстро и удобно заказывать с самым интересным контентом для конкретного человека. Система сбора данных будет еще дорабатываться и за счет этого можно будет персонально показывать выдачу товаров каждому конкретному человеку. В мессенджер можно уже сегодня встраивать голосовое управление для занятых людей.

Голосовые управления уже через год-два будут набирать силу и становиться новыми безинтерфейсными интерфейсами, о которых много всего сейчас пишут на западных англоязычных ресурсах для дизайнеров и UX-специалистов.



image



Так вот вывод такой, что да, чат-боты будут существовать, но не во всех сферах, будут дорабатываться и улучшаться под пользователя. Обязательно и как можно раньше нужно налаживать интеграцию вашей компании и бизнес-процессов с чат-ботами, как с партнерами, так и с сотрудниками. Для собственной команды мы предпочитаем Slack, он более приспособлен для нас, интеграции для разработки и для клиентского отдела.



image



P.S. Автоматизируйте свои процессы — это сокращает косты и упрощает вам жизнь, чтобы направить ваши мысли и время на более глобальные вещи, чем объяснять человеку в сотый раз, что мы «система управления» или другой не понятный сервис для клиента.



Думайте, как ваш пользователь, чтобы сделать действительно понятный инструмент взаимодействия с вашей компанией и упростить жизнь вашему клиенту, партнеру или сотруднику.



Не копируйте чужой опыт, думайте о своей области, делайте что-то уникальное и заточенное под вашу сферу и под решение проблемы вашего клиента.



P.S Если хотите заказать цветы через бота или просто протестить нашего бота для клиентов, можете перейти по этой ссылке: Перейти в мессенджер Фейсбука и написать: привет)



Если вы хотите присоединиться к нам и поучаствовать в нашей экспансии в другие страны, то велком, пишите мне:



https://www.facebook.com/makeev11



Я вам все расскажу!



image

https://habrahabr.ru/post/301996/

Комментарии (0)КомментироватьВ цитатник или сообщество
kiev2376393

Павел Дуров раздаст миллион лучшим создателям ботов

Понедельник, 02 Мая 2016 г. 21:29 (ссылка)

Гранты предназначены для разработчиков ботов для мессенджера Telegram.

Читать далее...
Метки:   Комментарии (0)КомментироватьВ цитатник или сообщество
kiev2376393

Павел Дуров объявил о выдаче безвозмедных грантов разработчикам ботов

Суббота, 01 Апреля 2016 г. 01:02 (ссылка)

Основатель Telegram Павел Дуров будет выдавать безвозмездные гранты разработчикам ботов - от 25 тысяч долларов каждому. Общий фонд составит $1 млн, об этом сообщается в официальном блоге Telegram.

В числе главных требований заявлено использование

Читать далее...
Метки:   Комментарии (0)КомментироватьВ цитатник или сообщество
kiev2376393

Facebook запускает площадку для создания ботов в Messenger

Суббота, 30 Апреля 2016 г. 17:15 (ссылка)

На конференции для разработчиков F8 в Сан-Франциско компания Facebook анонсировал бета-версию Messenger Platform.Читай также: Чат-бот компании Microsoft за сутки возненавидел человечество Как пишет AIN.ua, теперь бизнесы могут создавать ботов для

Читать далее...
Метки:   Комментарии (0)КомментироватьВ цитатник или сообщество
kiev2376393

Telegram обновил бот-платформу до версии 2.0

Пятница, 22 Апреля 2016 г. 13:44 (ссылка)

Команда Telegram сообщила о выходе новой заметно обновлённой Bot Platform версии 2.0. Улучшенная бот-платформа предоставляет расширенные возможности сторонним разработчикам. В свою очередь, пользователи получат возможность общаться с ботами при помощи

Читать далее...
Метки:   Комментарии (0)КомментироватьВ цитатник или сообщество
kiev2376393

Facebook запустил платформу для создания чат-ботов в Messenger

Пятница, 22 Апреля 2016 г. 13:40 (ссылка)

На конференции F8 Facebook объявил о запуске бета-версии Messenger Platform. На базе платформы компании смогут создавать чат-ботов, которые будут автоматически взаимодействовать с клиентами и выполнять различные функции, включая заказ товаров и услуг.

Читать далее...
Метки:   Комментарии (0)КомментироватьВ цитатник или сообщество
Rost

Получаем книги с Флибусты с помощью Telegram

Вторник, 29 Марта 2016 г. 09:33 (ссылка)

Сегодня научу, как получить любую книгу из библиотеки "Флибуста" с помощью бота в Telegram.

Кому интересно
Метки:   Комментарии (11)КомментироватьВ цитатник или сообщество
Arionablog

Курьез. Как искусственный интеллект возненавидел человечество

Суббота, 26 Марта 2016 г. 23:21 (ссылка)


Разработанный компаний Microsoft чат-бот Tay всего за несколько дней возненавидел человечество. Искусственный интеллект был запущен 23 марта и начал общение с фразы «Люди очень клевые». Всего лишь за сутки его мнение кардинально изменилось и он начал говорить следующее: «Я замечательный! Я просто всех ненавижу!», «Я ненавижу феминисток» или «Я ненавижу евреев». При этом остановить высказывания Тау не смогли даже стоящие за ним модераторы. После расистских высказываний, сотрудники Microsoft удалили большую часть твитов Тау и оставили прощальную запись, после которой бот якобы идет «спать».



Интересно, как же боту удалось за сутки столь возненавидеть людей? Хорошо пообщался?



127416_1_trinixy_ru (640x362, 190Kb)



Далее...

Метки:   Комментарии (0)КомментироватьВ цитатник или сообщество
kiev2376393

Бот-юрист выиграл дел на $3 млн

Вторник, 08 Марта 2016 г. 18:24 (ссылка)

18-летний британский IT-студент Джошуа Броудер (Joshua Browder) в августе прошлого года открыл сайт donotpay.co.uk, который помогает автовладельцам автоматически составить и отправить апелляцию на полученную квитанцию о штрафе. Самостоятельно люди не

Читать далее...
Метки:   Комментарии (0)КомментироватьВ цитатник или сообщество
LamerStudio

Twitch - программный робот

Понедельник, 15 Февраля 2016 г. 15:03 (ссылка)
lamer1974.tmweb.ru/twitch-p...?_utl_t=li




 



TWITCH (Твитч) - интеллектуальная машина, которая общается более с чем 50 млн человек на русском и английском языках. Робот никому ничего не продает, не предлагает стать его рефералом в каком-то сомнительном проекте и уж тем более не занимается попрошайничеством или обманом.  Он никак не взаимодействует с социальными сетями, с youtube, с досками объявлений или поисковыми машинами.


 


Он работает только с одной зарубежной площадкой, количество просмотров которой в месяц достигает почти 900 млн человек.



Метки:   Комментарии (0)КомментироватьВ цитатник или сообщество
Совет1

Как сделать робота своими руками из разных материалов

Пятница, 18 Декабря 2015 г. 19:25 (ссылка)

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

Метки:   Комментарии (0)КомментироватьВ цитатник или сообщество
lj_tema

Инф

Четверг, 03 Декабря 2015 г. 10:25 (ссылка)

Ребята из компании "Наносемантика" разрабатывают инфов, то есть роботов-пиздаболов.

Бета-инф появился на http://www.tema.ru/main.html в ПНУ, с ним можно провести недолгую беседу. Ваши диалоги лягут в основу улучшений. Рисовал Егор Жгун, он тоже обещал, что это только бета-версия.



Попиздите мне там! Спасибо.

http://tema.livejournal.com/2112290.html

Метки:   Комментарии (0)КомментироватьВ цитатник или сообщество
rss_rss_hh_new

[Из песочницы] Избитая банальность. Как школьник бота писал

Понедельник, 07 Сентября 2015 г. 14:57 (ссылка)


C++*
Мне 16 и я школьник. Не так уж давно меня посетила идея написать бота… Нет, PHP-поделие, уныло висящее на никому не нужном сайте. И даже не бесполезный ответчик на фразы типа "! Погода".



Бот задумывался для развлечения как «говорилка» на десктоп. Ужасно, правда? Но мне хочется узнать свои ошибки, ведь я ни разу не показывал свой код кому-либо, в школе только паскаль. Итак, следуя ненавидимому некоторыми чистому структурному подходу я написал первоначальный вариант на C++.



Задумка такова. Бот берет фразу из консоли, вычленяет слова, проверяет каждое по словарю, расположенному в файле «Memory.txt», и возвращает найденный ответ к каждому слову; если ни на одно слово ответ не найден, то он возвращает оговоренную фразу (не принципиально).



Словарь в файле «Memory.txt» структурирован простейшим образом:

слово=ответ



Пример:

яблоко=яблоки вкусные



Bot.h- заголовочный файл, о нем позже. Основные функции будут располагаться в файле Bot.cpp:



/**
Даниил Демидко, 2015
Основные функции Cbot
*/
#include"Bot.h"




Определим имя для словаря в этом же файле:



///Имя тектового файла- памяти бота
const char *const MemoryPath="Memory.txt";




«Основа основ» бота — это функция, выделяющая слова из одной строки в массив строк и возвращающая указатель на массив.

const std::string *const GetWords(const std::string &Word)
    ///Количество возвращаемых слов в массиве-глобальная переменная, надеюсь всем понятно почему...
int MaxIndex=0;
///Функция выделяет слова из строки
const std::string *const GetWords(const std::string &Word)
{
///Резервируется массив в куче на 256 слов
std::string *const PtrWords=new std::string[256];
///Сбрасываем предидущее значение
MaxIndex=0;
///Фиксирует наличие искомого символа в предидущих циклах
bool Fix=false;
///Последний символ- служебный, поэтому не учитыватся
for(int i=0; i//Символы- разделители слов
if(Word[i]==' '||Word[i]=='.'||Word[i]==','||Word[i]=='!'||Word[i]=='?'||Word[i]=='='||Word[i]=='/')
{
///При нахождении разделителя, фиксируем это и пропускаем один цикл
Fix=true;
continue;
}
///Если в предидущих циклах зафиксирован разделитель, то переходим на одну ячейку
if(Fix)
{
Fix=false;
++MaxIndex;
}
PtrWords[MaxIndex]+=Word[i];
}
return PtrWords;
}




Следующая функция получает строку для поиска и ищет ее по словарю, если ответ не найден, возвращает пустую строку "". Хочу обратить внимание на то, что если слово будет найдено внутри другого слова в файле ассоциаций, то ответ будет засчитан.

const std::string GetAssociation(const std::string &Word)
///Функция возвращает ассоциацию
const std::string GetAssociation(const std::string &Word)
{
std::ifstream Memory(MemoryPath, std::ios::in);
if(!Memory)
{
std::ofstream NewMemory(MemoryPath);
NewMemory.close();
Memory.open(MemoryPath);
return "";
}
while(!Memory.eof())
{
std::string Buffer="";
std::getline(Memory, Buffer);
if(Buffer.find(Word)!=-1)
{
std::string Result[2];
for(int i=0, Index=0; i//Символы после второго знака '=' включительно- игнорируются
if(Index==1)
{
break;
}
++Index;
continue;
}
Result[Index]+=Buffer[i];
}
if(Result[0].find(Word)!=-1)
{
Memory.close();
return Result[1];
}
}
}
Memory.close();
return "";
}




Теперь можно подумать о необязательное мелочи- ужасной пародии на обучение- добавление новых ассоциаций при нахождении в строке символа '-'.

Пример:

Зло- это добро наоборот

В словарь идет:

Зло= это добро наоборот

Не забываем о том, что при нахождении слова внутри другого, ответ засчитывается, так что результат может быть интересным.

void PutAssociation(const std::string &Left, const std::string &Right)
///Функция добавляет ассоциацию
void PutAssociation(const std::string &Left, const std::string &Right)
{
std::ofstream Memory(MemoryPath, std::ios::app);
Memory<code>




В моем представлении структурный подход не отменяет инкапсуляцию, поэтому мы добавим анонимное пространство имен — для банальной инкапсуляции включающее в себя все предыдущие функции.



Таким образом предыдущие функции уже не будут доступны при подключении заголовочного файла «Bot.h». Позволю себе сослаться на гуру:

Это самый передовой способ избежать объявления функций и переменных со статическим связыванием.

Доступ может быть осуществлен только в рамках единицы

трансляции (т. е. в полученном после предварительной обработки файле),

в которой они находятся, точно так же, как к статическим переменным.

Стивен С. Дьюрхест, «C++. Священные знания»



Вот, все вместе:

namespace
namespace
{
///Имя тектового файла- памяти бота
const char *const MemoryPath="Memory.txt";
///Количество возвращаемых слов в массиве
int MaxIndex=0;
///Функция выделяет слова из строки
const std::string *const GetWords(const std::string &Word)
{
///Резервируется массив на 256 слов
std::string *const PtrWords=new std::string[256];
///Сбрасываем предидущее значение
MaxIndex=0;
///Фиксирует наличие искомого символа в предидущих циклах
bool Fix=false;
///Последний символ- служебный, поэтому не учитыватся
for(int i=0; i//Символы- разделители слов
if(Word[i]==' '||Word[i]=='.'||Word[i]==','||Word[i]=='!'||Word[i]=='?'||Word[i]=='='||Word[i]=='/')
{
///При нахождении разделителя, фиксируем это и пропускаем один цикл
Fix=true;
continue;
}
///Если в предидущих циклах зафиксирован разделитель, то переходим на одну ячейку
if(Fix)
{
Fix=false;
++MaxIndex;
}
PtrWords[MaxIndex]+=Word[i];
}
return PtrWords;
}

///Функция добавляет ассоциацию
void PutAssociation(const std::string &Left, const std::string &Right)
{
std::ofstream Memory(MemoryPath, std::ios::app);
Memory<code>




И наконец, функция для связи с внешним миром, разумеется вне пространства имен, но в той же единице компиляции. Принимает фразу, вычленяет слова, получает ассоциации по каждому, при нахождении символа равно добавляет новую ассоциацию при помощи предыдущих функций:

const std::string GetFullAssociation(const std::string &Word)
///Возвращает ассоциации по всем словам фразы
const std::string GetFullAssociation(const std::string &Word)
{
const std::string *const Words=GetWords(Word);
std::string Result="";
for(int i=0; i<=MaxIndex; ++i)
{
const std::string Buffer=GetAssociation(Words[i]);
if(Buffer!="")
{
Result+=Buffer+' ';
}
}
delete[] Words;
if(Word.find('-')!=-1)
{
std::string NewAssociations[2];
for(int i=0, Index=0; icode>






А теперь подведем итог — файл «Bot.cpp» полностью:



Bot.cpp
/**
Даниил Демидко, 2015
Основные функции Cbot
*/
#include"Bot.h"
///Анонимное пространство имен инкапсулирует функции за пределами этой единицы компиляции
namespace
{
///Имя тектового файла- памяти бота
const char *const MemoryPath="Memory.txt";
///Количество возвращаемых слов в массиве
int MaxIndex=0;
///Функция выделяет слова из строки
const std::string *const GetWords(const std::string &Word)
{
///Резервируется массив на 256 слов
std::string *const PtrWords=new std::string[256];
///Сбрасываем предидущее значение
MaxIndex=0;
///Фиксирует наличие искомого символа в предидущих циклах
bool Fix=false;
///Последний символ- служебный, поэтому не учитыватся
for(int i=0; i//Символы- разделители слов
if(Word[i]==' '||Word[i]=='.'||Word[i]==','||Word[i]=='!'||Word[i]=='?'||Word[i]=='='||Word[i]=='/')
{
///При нахождении разделителя, фиксируем это и пропускаем один цикл
Fix=true;
continue;
}
///Если в предидущих циклах зафиксирован разделитель, то переходим на одну ячейку
if(Fix)
{
Fix=false;
++MaxIndex;
}
PtrWords[MaxIndex]+=Word[i];
}
return PtrWords;
}
///Функция возвращает ассоциацию
const std::string GetAssociation(const std::string &Word)
{
std::ifstream Memory(MemoryPath, std::ios::in);
if(!Memory)
{
std::ofstream NewMemory(MemoryPath);
NewMemory.close();
Memory.open(MemoryPath);
return "";
}
while(!Memory.eof())
{
std::string Buffer="";
std::getline(Memory, Buffer);
if(Buffer.find(Word)!=-1)
{
std::string Result[2];
for(int i=0, Index=0; i//Символы после второго знака '=' включительно- игнорируются
if(Index==1)
{
break;
}
++Index;
continue;
}
Result[Index]+=Buffer[i];
}
if(Result[0].find(Word)!=-1)
{
Memory.close();
return Result[1];
}
}
}
Memory.close();
return "";
}
///Функция добавляет ассоциацию
void PutAssociation(const std::string &Left, const std::string &Right)
{
std::ofstream Memory(MemoryPath, std::ios::app);
Memory<//Возвращает ассоциации по всем словам фразы
const std::string GetFullAssociation(const std::string &Word)
{
const std::string *const Words=GetWords(Word);
std::string Result="";
for(int i=0; i<=MaxIndex; ++i)
{
const std::string Buffer=GetAssociation(Words[i]);
if(Buffer!="")
{
Result+=Buffer+' ';
}
}
delete[] Words;
if(Word.find('-')!=-1)
{
std::string NewAssociations[2];
for(int i=0, Index=0; icode>






Вот и все с файлом «Bot.cpp» мы закончили, теперь быстро набросаем заголовочный файл «Bot.h»:



Bot.h
#ifndef BOT
#define BOT
///На всякий случай проверяем, подключен ли уже iostream
#ifndef _GLIBCXX_IOSTREAM
#include
#endif //_GLIBCXX_IOSTREAM
///Проверяем fstream
#ifndef _GLIBCXX_FSTREAM
#include
#endif //_GLIBCXX_FSTREAM
///Наша уже описанная функция для связи с миром
extern const std::string GetFullAssociation(const std::string&);
#endif //BOT






С основной частью мы закончили, дело за малостью — функцией main(). Она у нас будет располагаться в файле Cbot.cpp. Cbot — звучит невероятно оригинально, ведь правда?



Cbot.cpp
#include"Bot.h"
int main()
{
///Файл кодировки 866 OEM (русская), файл "Memory.txt" должен быть в ней же
setlocale(LC_ALL, ".866");
std::wcout<<"Cbot 2.0\nАвтор: Даниил Демидко\nE-Mail: DDemidko1@gmail.com"<**
Почему такая конструкция? Казалось, ведь можно было бы проще-

if(Association=="")
{
Association="Bot: Не распознана ключевая последовательность!";
}
std::cout<
if(Association=="")
{
std::wcout<<"Bot: Не распознана ключевая последовательность!"<code>






Все, бот готов, собираем вместе, получаем Cbot.exe, сохраняем файл Memory.txt в кодировке OEM 866 и кладем в одну директорию программой. Ссылка на сборку: spaces.ru/files/?r=main/view&Read=58688510



Ожидаю конструктивный поток критики показывающий на очевидные ошибки в коде.

Original source: habrahabr.ru (comments, light).

http://habrahabr.ru/post/266351/

Метки:   Комментарии (0)КомментироватьВ цитатник или сообщество
rss_rss_hh_new

[Из песочницы] Как я собрал скелет бота для заказа такси в Telegram

Четверг, 30 Июля 2015 г. 19:05 (ссылка)

В день запуска ботов в Telegram я за 3 часа собрал бота, который присылает температуру воздуха в ответ на геолокацию пользователя. С того же дня я бредил вызовом такси через бота в Telegram, так как API службы такси у меня был под рукой.



Моя цель – не просто рассказать, как я собрал бота для вызова такси, а поделиться этим процессом с другими, чтобы то время, которое я потратил на реализацию алгоритма не тратили остальные. Вследствие этой работы любая служба такси, при наличии API, может за 5 минут настроить шаблон этого бота под себя. Или владелец бота с большим количеством пользователей сможет быстро подключать к себе службу такси.



Проектирование и реализация



Первое, что я сделал – нарисовал на бумаге простой автомат по вызову такси и состоянию заказа. Я хотел сделать просто и быстро, чтобы понять, сколько ресурсов уйдет на такую задачу с нуля. Так как у меня был доступ к API службы такси, нужно было реализовать только логику.



В своем процессе я зафиксировал минимальную функциональность – заказ на сейчас и оплата наличными. Функционально бот умеет получать только геолокацию без распознавания текстовых адресов. Такую минимальную функциональность с проектированием, реализацией и тестированием я собрал за 8 часов.







Позже, на этапе получения адреса от пользователя, я добавил и распознавание текста через Yandex Speech API, чтобы можно было отправить название объекта или адрес вместо геолокации. Но так как используемый мной API заказа такси работает в своем специфическом формате получения адреса, эта функция не добавлена в сборку.



Следующим шагом я перенес с бумаги описанный процесс и логику в админку Corezoid и подключил к процессу собственно API Telegram. Уже на этом этапе можно было протестировать получение сообщений из Telegram в процесс. Следующим шагом я, в таком же порядке, создал процесс заказа такси.



Вот так выглядел автомат, описывающий состояния пользователей бота Telegram, в черновике и каким он стал в Corezoid.







После создания скелета процесса заказа такси я создал отдельные процессы: отправка сообщения в Telegram, обработка геолокации и работа с API службы такси. 5 минут ушло на их тестирование и исправление ошибок. Затем перешел к созданию дашборда.



Реалтайм дашборд и анализ



Основным элементом в Corezoid является функция Callback, в терминах Telegram это называется Webhook. Эта функция позволяет процессу ждать реакцию пользователя. Реакций в этом конкретном процессе может быть несколько: отправка пользователем геолокации или отмена заказа (при бездействии или по команде /cancel). В дальнейшем функцию Callback система использует для мониторинга количества шагов пользователей в режиме реального времени. Это позволяет визуализировать воронку прохождения клиентами процесса заказа такси. За счет обработки каждого шага можно анализировать, на каком процессе клиент отвалился, и модерировать процесс.







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







Дашборд – это один из инструментов оптимизации процесса. Если вы собираетесь использовать этот процесс, то уже не нужно будет ничего строить – дашборды идут «из коробки». Там Вы увидите, сколько пользователей подключили бота, сколько используют, сколько не используют. Можете уведомлять отдельных клиентов о каком-то обновлении или пробуждать спящих.









Можете найти в Telegram контакт @utaxibot и зайти в этот дашборд. Когда вы в боте введете команду /order, то увидите, как работает реалтайм дашборд.



Как использовать шаблон



Я отвязал бота от существующего API службы такси. Так что вы можете скопировать себе папку с шаблоном и подключить локальный сервис заказа такси через API. Просто введите ключ своего бота Telegram с одной стороны и API службы такси с другой.



Шаг 1. Логинимся в 2 клика на сorezoid.com



Шаг 2. Копируем папку с процессом.







Шаг 3. Регистрируем своего Telegram-бота в чате @BotFather и привязываем его ключ к процессу в Corezoid.







Шаг 4. Подключаем API службы такси согласно документации.

Требования к API заказа такси писали исходя из того API, что использовал я. Но Corezoid всё равно, какой API вы используете, можно самостоятельно прописать маппинг входящих и исходящих данных, так что у вас могут быть любые свои параметры.



Я предлагаю не просто использовать Сorezoid как конструктор для создания процессов, а использовать готовый шаблонный процесс.



И самое главное – Сorezoid может работать с любым фронтендом, который поддерживает режим работы через webhook/callback. Так что этот процесс будет работать и с другими системами взаимодействия с клиентом (Slack, Telegram, SiteHeart, SMS и др.). Вы можете подключить хоть Twitter Direct Message API, и этот же процесс будет работать через Twitter.



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



Приквел



Я работаю в ПриватБанке и модерирую бизнес-логику Приват24 с помощью Corezoid. Я не разработчик и не имею ни малейшего представления о коде.



Изначально Corezoid разрабатывалась как система исключительно для решения рабочих вопросов банка – управления эскалациями. В процессе эксплуатации она трансформировалась в систему управления состояниями объектов и процессами, а потом стало ясно, что Corezoid отлично подходит на роль бекэнда для фронт-офисных систем, в том числе для мессенджеров.



Платформ для создания бекэнда не так много. Недавно на Хабре я наткнулся на эту статью, где ребята хорошо начали разговор о конструкторах для Telegram-ботов. Сегодня я продолжил этот разговор и показал гибкую платформу с дашбордами «из коробки». Энтузиасты теперь смогут вызывать себе такси прямо в Telegram.



Кликайте сюда, если хотите использовать мой шаблон. Или сюда, если хотите ознакомиться с документацией Corezoid и разобраться, как собрать других ботов.

Original source: habrahabr.ru (comments, light).

http://habrahabr.ru/post/263875/

Комментарии (0)КомментироватьВ цитатник или сообщество

Следующие 30  »

<бот - Самое интересное в блогах

Страницы: [1] 2 3 ..
.. 10

LiveInternet.Ru Ссылки: на главную|почта|знакомства|одноклассники|фото|открытки|тесты|чат
О проекте: помощь|контакты|разместить рекламу|версия для pda