Отправка сообщений через Telegram (через прокси)

Обмен - Обмен с другими системами

Отправка сообщений в Телеграм Телеграм Telegram

11
Простая обработка для отправки сообщений из 1с в Телеграм конкретному пользователю. Используя прокси-сервер: jqlwb.teletype

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

Тестировал на платформе версии 1с 8.3.11
Конфигурация 1с не имеет значение. Главное чтобы было на УправляемыхФормах.

1. Запускаете обработку
2. Указываете Token чатбота Телеграм. Как получить токен и как создать чатБота Телеграм - можете загуглить - это просто, но могу пояснить:
а) Чтобы создать ЧатБота надо добавить себе в телеграме @BotFather - он выдаст инструкцию по созданию. Остается задать логин ЧатБоту. После этого вы получите Токен.
б) Чтобы пользователи могли получать сообщения от 1с надо чтобы они добавили себе вашего новосозданного ЧатБота.
3. Указываете ID пользователя Телеграм. Как узнать свой ID - нажмите на @userinfobot в Телеграме. Напишите например "привет". Получите свой id. Либо ваш знакомый может таким же способом получить свой ID и отправить его Вам что бы вы по его id отправили сообщение. Сообщение придёт от ЧатБота.
4. Пишите сообщение и нажимаете "Отправить". Готово!


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

 

&НаСервере
Процедура ОправитьНаСервере()
    
    Если НЕ ЗначениеЗаполнено(ТекстСообщения) Тогда 
        Возврат; 
    КонецЕсли;
        
    ПроксиСервер        = "socks5://jqlwb.teletype.live"; // Собственно вот здесь мы и обращаемся через socks5
    ПроксиПорт            = 1080;
    ПроксиПользователь    = "telegram";
    ПроксиПароль        = "telegram";  
    ИнтернетПрокси = Новый ИнтернетПрокси;
    ИнтернетПрокси.Установить("https", ПроксиСервер, ПроксиПорт, ПроксиПользователь, ПроксиПароль);
    
    ЗащищенноеСоединение = Новый ЗащищенноеСоединениеOpenSSL(Новый СертификатКлиентаWindows, Новый СертификатыУдостоверяющихЦентровWindows);
    Ресурс = "bot" + Token + "/sendMessage?chat_id=" + СтрЗаменить(Формат(ID, "ЧДЦ=; ЧС=; ЧРГ=."), ".", "") + "&text= " + ТекстСообщения;
    Соединение  =  Новый HTTPСоединение("api.telegram.org",443,,,ИнтернетПрокси,,ЗащищенноеСоединение);
    Запрос = Новый HTTPЗапрос(Ресурс);
    Ответ = Соединение.Получить(Запрос);    
    
    КодСостояния     = Ответ.КодСостояния;
    СтрокаОтвета     = Ответ.ПолучитьТелоКакСтроку();
    
    Если КодСостояния=200 тогда
        ЧтениеОтвета = Новый ЧтениеJSON;
        ЧтениеОтвета.УстановитьСтроку(СтрокаОтвета);
        РезультатСтруктура = ПрочитатьJSON(ЧтениеОтвета);
        Если РезультатСтруктура.ok = Истина Тогда
            СтруктураMessage = РезультатСтруктура.result;
        КонецЕсли;
    Иначе
        Сообщить("КодСостояния "+КодСостояния);
        Сообщить(СтрокаОтвета);
    КонецЕсли;
    
КонецПроцедуры

&НаКлиенте
Процедура Оправить(Команда)
    ОправитьНаСервере();
КонецПроцедуры 

 

11

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

Наименование Файл Версия Размер
Отправка сообщений через Telegram (через прокси):
.epf 6,61Kb
20.07.18
6
.epf 6,61Kb 6 Скачать

См. также

Комментарии
Избранное Подписка Сортировка: Древо
1. IvanPuzyrev 23.07.18 16:26 Сейчас в теме
Спасибо, просто и понятно. Прокси сервер используемый в обработке выбран случайно или есть критерии выбора ?
2. Deda 97 27.07.18 11:06 Сейчас в теме
(1)Благодарю! Прокси выбрал первый попавшийся.
3. sdwggg 30.07.18 11:20 Сейчас в теме
Спасибо! А то после блокировки перестало работать, не знал как правильно прописать прокси!
4. uno-c 27 19.08.18 00:35 Сейчас в теме
Можно еще от бота в группы писать, если бота в эти группы включить
Оставьте свое сообщение