Предлагаю обработку Телеграм-бот на 1С.
Простейший телеграм-бот на 1С. Бот получает сообщения от пользователей и возвращает ответ вида "Вы ИМЯ ФАМИЛИЯ написали: ТекстСообщенияПользователя".
Обработка имеет управляемую форму, из которой может быть запущен цикл проверки сообщений пользователей, также может быть встроена в типовые конфигурации 1С как внешняя обработка и запущена по расписанию.
Отличительные особенности обработки:
-Реализована работа через прокси и показаны примеры заполнения прокси адресов.
-Сделан подсчет успешных соединений через разные прокси, сбор статистики работы прокси.
-Обработка сделана максимально компактно и просто, с использованием механизмов платформы последних версий (работа с JSON)
Тестовый бот для демонстрации работы с телеграм из 1С
При нажатии на кнопку "Прочитать" Бот получает от сервера Телеграм сообщения от пользователей и отображает их на форме.
При нажатии на кнопку "Прочитать и ответить" бот получает от сервера Телеграм сообщения, отображает их на форме, и пишет пользователям ответные сообщения в виде
"Вы ИМЯ ФАМИЛИЯ написали: ТекстСообщенияПользователя".
Порядок работы с Ботом:
Необходимо зарегистрировать бота через @BotFather
Для создания бота в Telegram для этого создан специальный бот — @BotFather. Необходимо найти его в Телеграм, добавить в контакт и написать /start.
Введите команду /newbot — бот попросит придумать имя нашему новому боту (оно должно оканчиваться на «bot»). BotFather предоставит токен бота и ссылку для добавления бота в контакты. Проверьте полученный токен с помощью ссылки api.telegram.org/bot<TOKEN>/getMe (можно через браузер TOR для обхода блокировки).
Также вы получите ссылку на сайт Телеграм с описанием API.
Получение прокси сервера
Для работы с API Телеграм на территории России необходимо использовать зарубежный прокси-сервер. Прокси сервер можно найти бесплатный или купить.
Какой прокси использовать? — можно использовать как прокси IPv4 так и IPv6. IPv4 работает стабильнее, но он дороже. IPv6 дешевле, но работает менее стабильно: периодически запрос к серверу телеграм не проходит. В принципе это не страшно, так что можно сэкономить.
Для подключения использовал протокол https. Протокол SOCKS5 не заработал.
Настройки подключения обработки
Настройки подключения обработки хранятся в модуле объекта в процедуре ИнициализацияПараметров а также в макете обработки МакетТаблицаПрокси, в которой хранятся параметры используемых прокси серверов.
Запуск обработки в интерактивном режиме
Открыть обработку можно в режиме 1С Предприятие, откроется форма с настройками, заполненными в процедуре "ИнициализацияПараметров" и из макета ПроксиСерверов. Параметры обработки можно изменить по необходимости.
В обработке есть две кнопки
"Прочитать" — при нажатии на эту кнопку с сервера Телеграм будет прочитан список новых сообщений, которые пользователи написали боту. Сообщения, прочитанные таким образом перестанут считаться новыми и больше не будут читаться с сервера.
"Прочитать и ответить" — аналогично кнопке "Прочитать" + будет сформирован ответ бота на все сообщения пользователей вида "Вы ИМЯ ФАМИЛИЯ написали: ТекстСообщенияПользователя"
Запуск обработки в режиме встроенной обработки
Обработку можно встроить в типовые конфигурации 1С 8.3 как внешнюю обработку и там же указать периодический её запуск.
Формирование ответов пользователям
Ответы пользователям формируются в процедуре модуля объекта ОбработатьОтветы. В этой процедуре все сообщения, полученные ботом помещаются в таблицу значений и обрабатываются в запросе (при необходимости). Обработка сообщений пользователем при помощи запроса позволит вам сразу в запросе получать данные, которые вы ходите отправить из 1С пользователям.
ВебХуки
Следует иметь в виду, что существует более продвинутый способ работы с ботом телеграм, это использование ВебХуков. При этом телеграм при получении сообщения от пользователя обращается к поднятому Вами Веб-сервису (соответственно, нужно поднять веб-сервис), имеющему подпись (соответственно, нужно получить сертификат), что позволит отвечать пользователю мгновенно. К сожалению для 1С такой метод очень сложен, если вообще возможен. В этой обработке он не используется.
Обработка тестировалась на Управление торговлей, редакция 11 (11.4.5.143).
Большую часть времени телега работает без прокси. Уже давно. Хотя, может, зависит от провайдера.
В статье нет ничего нового, поиском находится несколько более полных статей на ИСе.
(1)
В статье нет ничего нового, поиском находится несколько более полных статей на ИС
У меня без прокси подключение к серверу Телеграм категорически не работало и подключения к прокси вызвало затруднения, пришлось покупать прокси, выбирать настройки прокси.
Действительно, есть гораздо более полные статьи и примеры, но то, что я смотрел мне не понравилось — чрезмерно сложна и или устарело. Без допиливания не работало.
Вебхуки отлично работают в 1с. Достаточно самоподписанных сертификатов и поднятого http-сервиса (потребуется опубликовать его так, чтобы он был виден из внешней сети, понятное дело, ну и сертификат надо будет добавить на ваш веб-сервер). Ничего сложного в этом методе нет. По самоподписанным сертификатам инфа есть как прямо в документации телеграм апи, так и на сторонних ресурсах, где описывается работа с телеграм (в основном вне 1с, но с точки зрения API разницы то и нет в любом случае)
(1) У меня тоже не работает подключение к api без прокси. Ни на работе ни дома не работает, провайдеры разные. Сама телега работает без прокси, а вот к api не подрубается(хоть через браузер, хоть из 1С)
(3) Ок, спасибо. Постараюсь попробовать в ближайшее время.
(4) Через браузер ТОР работает, конечно, но нам это мало поможет в 1С. Я потому и выложил, что пришлось покупать прокси, выбирать их (а они есть разные). В итоге когда отладил работу, и решил выложить обработку. IPv6 — прокси они в принципе, дешевые, но во-первых нигде не нашел ответа, будет ли через них работать, и потом надо заморачиваться с оплатой.
(6) Я сделал проще. Хостинг в прибалтике, он стабильно работает с телегой. А дальше обмен по любому каналу/технологии с рабочей базой.
(7) Сколько это стоит?
Эх только ушла из топа статейка:https://infostart.ru/public/1123971/ ))
(9) Да, прикольно, особенно сайт с проксями. Я как-то сразу покупать пошел (по совету друзей). Запишу себе сайтик.
(0) можете у меня посмотреть как работать с вебхуками и что для этого надо
Заодно, вот, ПРАВИЛЬНО отправляйте табличные документы и файлы:
https://gist.github.com/PlugFox/5f62e43c56941e4c5a244de2422ee7f8
(11) Спасибо, это для того, чтобы отчеты рассылать как я понял.
А можно поинтересоваться, как вы разработки на Гитхаб выкладываете? Вручную?
(12) На IS куча статей посвященных git’у, вот, например, серия:https://infostart.ru/public/864097/
В Gist выкладывают сниппеты кода руками, он тем и хорош, по быстрому что то не заморачиваясь продемонстрировать.
Данный метод достаточно прост. Публиковать ссылки не буду, кто хочет, тот найдет. Но у меня есть видео где я настраиваю прокси для webhook с самодописанными сертификатами. А в следующем видео я уже расскажу, как сделать прием запросов от webhook.
(14) Да, ок, я понял, что это возможно, как дойдут руки, попробую сделать.