Оповещения боту из 1С за 31 минуту

Поделюсь опытом, как быстро сделать бота с оповещениями в Телеграмм из 1С без лишних затрат.

Привет! Привет! Привет! 

Без лишней воды сразу к процессу. АКТУАЛЬНО НА 01.08.2020г.

Сперва нам нужно завести свой Телеграмм (если нет), и зайти в него. Я использовал портабл версию телеги (https://dl.tlgrm.click/desktop/win_portable). Думаю тут проблем не должно быть.

Теперь ищем всеотца ботов. Для этого в поиск вводим BotFather. Должно получиться как представлено ниже.

Данный НПС по средства текстовых команд поможет нам создать наше детище. Жмем запустить или пишем /start. Он выдаст нам список команд. Интересует «/newbot». Теперь необходимо ввести имя нового бота (можно использовать православные букъвы). Далее вводим его типо ID которое должно начинаться с «@» и заканчиваться «bot», при этом быть уникальным (в дальнейшем наименование бота). Методом «проб и ошибок» у вас получится. После всего этого нас поздравят с созданием и дадут токен. Это то, как можно обратиться в будущем к боту формата *********:*********************************** (в дальнейшем токен). 

Бот у нас есть. Теперь создадим телеграмм канал и добавим туда бота. Заходим в меню телеграмма — создать канал. Нам предложат ввести название канала. Далее добавить участника, вводим наименование бота и добавляем с админскими правами. В канале могут писать только администраторы и сообщения будут приходить от имя канала, все остальные участники — только смотрят.

Работа с телеграмм на этом заканчивается и переходим к 1с. 

Единственная тонкость с которой придется заморочиться — прокси. 1с на отрез отказывается давать команды в телеграмм без прокси  Роскомнадзор блокирует прямое подключение (Спасибо комментаторам). До того как сайт телеграмма поместили в черный список все прекрасно и без прокси работало. Как это обойти? Сейчас расскажу. 

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

&НаСервереБезКонтекста
Процедура СообщитьНаСервере(Chat_id, Token, ТекстСообщения, proxy, Port)
	
	ИнтернетПрокси = Новый ИнтернетПрокси(Ложь); // необходим, что бы обойти блокировки
	ИнтернетПрокси.Установить("https",proxy,Число(Port), "", "", Ложь);// заполняем порт и ip 
	Соединение = Новый HTTPСоединение("api.telegram.org",443,,,ИнтернетПрокси,,Новый ЗащищенноеСоединениеOpenSSL());//создаем соединение
	ПараметрыЗапроса = "?chat_id=" //параметр команды который говорит в какой чат писать боту
						+ Формат(Chat_id, "ЧГ=0") //вводим имя чата формата  @*****
						+ "&text="  //параметр команды который говорит что писать боту
						+ КодироватьСтроку(ТекстСообщения,СпособКодированияСтроки.КодировкаURL);//меняем кодировку для гиперссылки
	ТекстЗапросаHTTP = "bot" //ключ - что работаем с ботом
						+ Token // id бота
						+ "/sendMessage" //команда к действию - написать сообщение
						+ ПараметрыЗапроса; //собственно параметры команды
						
						
	//кусок кода заставляющий бота работать					
	Запрос = Новый HTTPЗапрос(ТекстЗапросаHTTP);
	Ответ = Соединение.ОтправитьДляОбработки(Запрос);

КонецПроцедуры

на входе нам понадобится: 

Chat_id — название канала формата @*****

Token — токен

ТекстСообщения — строка, которою наше детище произнесет.

proxy и Port.

Последние два берутся со сторонних ресурсов. Я использовал Порты и прокси. Просто копируем от туда два значения и подаем на вход процедуры. 

Разработал на платформе 1С:Предприятие 8.3 (8.3.12.1855)

Надеюсь, принесет кому-то пользу и сэкономит немного времени! 

https://infostart.ru/1c/articles/1123971/