Чат-помощник на сайт с помощью Telegram за 15 минут
Многие люди продают через интернет товары и услуги. Еще больше людей — покупает что-то через интернет. Во время выбора покупок, часто возникают вопросы, которые можно решить позвонив и пообщавшись с менеджером. Скорее всего я — не единственный человек на хабре, который общению с менеджерами по телефону предпочитает переписку. И тут на помощь приходят всплывающие чаты-помощники, которые вроде-как повышают конверсию, но многих нервируют. (Для тех, кто не в курсе: в углу сайта всплывает окошко, в котором можно он-лайн переписываться с консультантом).
Есть с десяток подобных сервисов и все они работают по принципу "пробная версия бесплатно, а дальше за деньги". На хабре есть несколько статей, вот одна из них (http://habrahabr.ru/company/tuthost/blog/165365/), но, я уверен, аудитория Хабрахабра знает о чем речь. Большинству людей подойдет бесплатный вариант любого такого сервиса: нужно всего-навсего зарегистрироваться и вставить на сайт кусок JS кода. Для тех у кого много менеджеров — придется платить: например Редхелпер на 10 операторов обойдется Вам:
Скорее всего — цена адекватная для тех, кто платит зарплату десяти менеджерам.
Но я решил изобрести бесплатный «велосипед» из подручных материалов. Запуск у себя на сервере займет 15 минут. Всем, кому идея интересна — прошу под кат.
Telegram BOTНабирающий популярность за границей мессенджер Telegram недавно представил новое API для разработки ботов. Штука — интересная, ей можно найти множество применений. Теперь можно создать бота (написать программу), который будет отвечать на Ваши вопросы, выполнять определнные команды и все это в окне переписки мессенджера Telegram.
Именно на основе мессенджера Telegram и его API для ботов будет работать наш бесплатный, безлимитный чат-помощник-на-сайт.
Общая схема идеи — на картинке:
- Пользователи на сайте пишут в чат
- Сообщение это улетает на Ваш сервер
- Оттуда Telegram-бот пересылает его нужному менеджеру
- Менеджер отвечает через Telegram
- Бот отправляет сообщение обратно в чат_на_сайте
- Сервер, VPS или хостинг, на котором есть актуальный PHP, поддержка SQLite и возможность сделать set_time_limit(0) (т.е. сделать работу php скрипта не ограниченной по времени)
- Приложение Telegram (на смартфоне или компьютере)
- Базовые знания PHP
План действий такой:
1) Регистрируем нового бота в Telegram. Для этого нужен только смартфон и 2 минуты. Заходим в Telegram, добавляем пользователя @BotFather и шлем ему команду "/newbot" Далее по инструкции: придумываем имя, юзернейм, пишем about и загружаем фотку. Результатом всего должен получиться API Key с помощью которого мы будем работать с BotAPI. У меня получилось вот так:
(Сообщение в котором фигурирует мой API Key я удалил)
2) Полученный ключ вставляем в TelegramBotConfig.php. Там же указываем любой придуманный Вами пароль для регистрации новых менеджеров.
3) Заливаем все на свой сервер
4) Запускаем нашего бота — фоновый процесс getUpdates.php Он должен работать бесконечно, поэтому рекомендую поставить его в автозагрузку сервера. Для надежности можно поставить запуск скрипта в crontab каждую минуту. Скрипт будет запускаться в единичном экземпляре, все повторные запуски сразу же завершатся.
5) Регистрируем нового менеджера Со смартфона менеджера заходим в телеграм и добавляем нашего нового бота (того, которого Вы только что создали) Пишем ему команду: «/newmanager пароль_для_менеджеров». В ответ получаем приветствие.
Операцию повторяем нужное количество раз, для каждого менеджера. Если на данном этапе Вы не получили ответ от Бота — значит что-то не работает!
6) Проверяем Переходим на страницу index.html (то есть заходим на адрес mysite.ru/index.php, а не открываем локально). Там находится небольшой, на скорую руку сверстанный чат. Если отправить сообщение в этот чат, бот выберет случайного менеджера и перешлет ему это сообщение.
Вот здесь интересный момент: Клиентов (покупателей) может быть много, а менеджер — один. Менеджер общается с клиентами посредством Telegram-бота. Если одновременно два (или больше) клиентов написали сообщение, а менеджер отвечает им по очереди, Telegram-боту нужно как-то указать, какому из клиентов отправить ответ. Для этого я сделал команду «/answer_№ЧАТА». После отправки этой команды все письма менеджера уходят в нужный веб-чат.
Минусы, плюсы, что можно доделать- Сейчас чат сделан «на скорую руку», чтобы скорее запустить в своем проекте. Есть много лазеек, с помощью которых например можно писать в чужой чат и подглядеть чужую переписку.
- Сейчас эти проблемы меня не тревожат, потому как в чате-помощнике на сайте у нас не принято передавать важную и секретную информацию.
- Когда менеджер один а клиентов много — можно запутаться, кому отвечаешь.
- … Буду дополнять из комментариев
- Это работает!
- Бесплатно навсегда и на любое количество менеджеров
- Не нужно лишних приложений, только телеграм, который есть для всех популярных платформ
- Можно переписать и стилизовать чат так, как Вам хочется.
- Telegram работает очень быстро
- … Буду дополнять из комментариев
- Защита от дурака и работа над безопасностью
- Умную систему распределения сообщений между менеджерами (сейчас бот направляет сообщение случайному менеджеру)
- Автоматические ответы от бота, когда менеджер долго молчит
- Добавить имя и фото менеджера, который отвечает в чате
- … Буду дополнять из комментариев
Спасибо за внимание.
UPDATE 23.08.2015 —Полностью переписал бота, теперь работает более стабильнее, теперь можно выбирать между sqlite и mysql
В планах: — админ-панель со статистикой — работа через webhook