IE2017

Бот для Telegram (Платформа 1С 8.3.6+)

Администрирование - Сервисные утилиты

Создатели IM-клиента Telegram первыми среди конкурентов открыли API для ботов. Данная разработка представляет собой готовый инструмент для создания бота на 1С.

IM-боты. Теперь на 1С!

IM-боты - это, по сути, те же пользователи мессенджера, которыми управляют не люди, а программа. 

Функционал ботов может быть самым разнообразным - информеры, анекдоты, гороскопы, переводчики и словари. Telegram открыл API для программистов ботов. А новые возможности платформы 1С (работа с JSON, http-сервисы) серьезно упростили разработку веб-приложений. Они и были использованы при разработке данного решения.

Установка Telegram

Telegram -  бесплатный мессенджер для смартфонов, позволяющий обмениваться текстовыми сообщениями и медиафайлами различных форматов. Мессенджер может быть установлен на все популярные платформы - Android, iOS, Windows Phone, OS X, Windows, Linux.

Регистрация бота

Регистрацией нового бота занимается... тоже бот. Найдите его в контактах @BotFather

Отправьте ряд команд в качестве текстовых сообщений Telegram. 

/newbot  - создаем новый бот

Далее @BotFather предлагает ввести название (оно должно оканчиваться на "bot"

Если имя занято, бот попросит ввести новое, если нет, то выдаст токен для доступа к API.

  

Настройка бота в 1С

Полученный токен необходимо задать в константе Ключ API

Для получения обновлений (в т.ч. запросов/команд от пользователей) используется один из двух способов - Update и Webhook.

Первый мы вызываем сами, второй представляет собой HTTPS POST - запрос, отправляемый Telegram на указанный нами URL, при появлении новых событий. В программе заложена функциональность по работе через Webhook (http-сервис), однако, не протестировано из-за заморочек с https.

Более простой способ, без настройки веб-сервера и публикации http-сервиса - периодический опрос методом getUpdates.

Под заданиями в данной программе будем называть последовательность двух действий - обновление запросов и отправка ответов "собеседникам".

В разработке используется 3 варианта выполнения заданий

- Webhook - задания выполняются при получении HTTPS POST уведомления

- Фоновые задания - запуск через механизм фоновых заданий в клиент-серверной БД

- Обработка - для файловой базы, задания выполняются при открытой форме обработки

Константа URLWebhook должна быть заполнена только для режима выполнения заданий Webhook.

После установки/очистки URLWebhook не забудьте нажать на кнопку "Задать URL"

Обработка ответов

Обработка ответов описывается в функции СформироватьСообщение() общего модуля Задания. Добавив в неё новые алгоритмы, можно легко настроить свой бот.

Пример бота

Посмотреть на разработку в действии можно в боте @infostart_bot (пока отключил, пишите в ЛС)

Требования

- Актуальный релиз 1С:Предприятие 8.3.6 и старше

Доработки

- Доработки под Вашу специфику - 1200р/час

Код

Код конфигурации - открыт для доработки конечному пользователю продукта, создание форков, использвание кода в собственных продуктах - с согласия автора

Обновления

Обновления - бесплатны

Техподдержка

По вопросам установки/настройки программы обращайтесь в ЛС

Установка

Установка производится путем загрузки cf в чистую БД

Скачать файлы

Наименование Файл Версия Размер
Бот для Telegram (Платформа 1С 8.3.6+)
.cf 26,78Kb
05.04.17
131
.cf 26,78Kb 131 Скачать

См. также

Комментарии
1. Доржи Цыденов (support) 4488 27.06.15 11:19 Сейчас в теме
Супер! Надо дальше развивать! Превратить в инструмент для тех.поддержки.
2. Ivan Khorkov (vano-ekt) 880 27.06.15 11:41 Сейчас в теме
(1) сделать стандартных 20 ответов типа "заявка зарегистрирована", "хорошо, информация принята", "мы занимаемся этим вопросом", "да, разработчики в курсе, ведутся работы", и пусть бот общается с пользователями?))
3. Артано Майаров (Артано) 320 27.06.15 16:59 Сейчас в теме
(2) Потом он научится сам писать баг-репорты, чуть позже освоит встроенный язык, а дальше - машины захватят мир
4. Сергей Боровик (BorovikSV) 1117 27.06.15 21:38 Сейчас в теме
Почему скрины на английском?
5. Ivan Khorkov (vano-ekt) 880 28.06.15 07:32 Сейчас в теме
(4) скрины самые что ни на есть русские. БотФазер только общается с разработчиками на eng, описание api тоже на eng. Но и читают их программисты, которые в резюме [сразу после перечисления сертификатов по 1С] заявляют свободное чтение технического английского :-D
OVladius; dgolovanov; +2 Ответить
6. Тартаковский Геннадий (torch) 13 28.06.15 23:09 Сейчас в теме
Как это применить в жизни понятно. Не понятно для чего? Автор может описать сферу применения данной разработки?
7. Ivan Khorkov (vano-ekt) 880 29.06.15 07:21 Сейчас в теме
1. Оповещение руководителя о финансовых результатах
2. Информирование покупателей о сумме долга
3. Рассылка "расчетных листков" сотрудникам
4. Информирование о предстоящем совещании
5. Всякого рода напоминалки
И все это не посредством электронной почты, а с помощью службы мгновенных сообщений
В пределах доверия к Telegram, конечно :-)
8. Роман Ложкин (webester) 23 29.06.15 16:12 Сейчас в теме
(6)Смс-ки в целях псевдо борьбы со спамом дорожают не доходят и требуют уже договоров с операторами и прочих танцев с бубном, хорошо бы их чем то заменить. Но телеграмм, как то, тоже не выход, я вообще не знаю у кого он стоит + здесь через какой то акк все должно идти, вроде как если апи открыто можно и через свой номер сделать.. Ватсапп еще куда не шло, но телеграмм, имхо рановато. У них все круто и десктоп версия есть и клиенты офф и не офф. Но Ватсапп уже захватил мир.
Dmitryiv; perevalsky; +2 Ответить
9. Ruslan Ruslan (flyer) 244 29.06.15 20:44 Сейчас в теме
я думаю этот апи будет открыт для тех у кого не больше 2000 сообщений в месяц потом на платную основу переведут. а то в помойку превратиться.
10. Сергей Филькин (FSerg) 63 02.07.15 15:42 Сейчас в теме
Голову сломал, все перепробовал, но никак не могу заставить работать методы sendPhoto или sendDocument

Как только добавляю в запросе
Заголовки.Вставить("Content-Type", "multipart/form-data; boundary=" + Boundary);

получаю ошибку всегда ошибку
502 Bad Gateway

А без этого заголовка не видит данных отправляемого файла.

Кто-нибудь победил?
Оставьте свое сообщение