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

20.07.18

Интеграция - Мессенджеры и боты

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

Скачать файл

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование По подписке [?] Купить один файл
Отправка сообщений через Telegram (через прокси):
.epf 6,61Kb
42
42 Скачать (1 SM) Купить за 1 850 руб.

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

Тестировал на платформе версии 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;
        КонецЕсли;
    Иначе
        Сообщить("КодСостояния "+КодСостояния);
        Сообщить(СтрокаОтвета);
    КонецЕсли;
    
КонецПроцедуры

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

 

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

См. также

Мессенджеры и боты Платформа 1С v8.3 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 1С:Розница 3.0 Платные (руб)

Интеграция мессенджера WhatsApp и 1С: УНФ, УТ, КА, ERP - отправка и получение сообщений, картинок, файлов и видео прямо в 1С. Расширение работает с сервисом GreenApi.

15600 руб.

23.06.2023    12143    72    21    

48

SALE! 50%

Мессенджеры и боты SMS рассылки Email рассылки Пользователь Платформа 1С v8.3 1C:Бухгалтерия 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 1С:Розница 3.0 Управленческий учет Платные (руб)

Расширение 1С с полным набором инструментов для качественных транзакционных, триггерных и маркетинговых рассылок Email, SMS, WhatsApp, Telegram. Даже простые уведомления об оплате счетов способны существенно упростить сбор дебиторской задолженности. Применение всех возможностей прямого маркетинга выводит коммуникацию с клиентами, уровень сервиса и лояльность на новый уровень.

4800 2400 руб.

07.04.2014    86785    55    199    

140

SALE! 25%

Мессенджеры и боты Системный администратор Программист Бизнес-аналитик Пользователь Руководитель проекта Платформа 1С v8.3 Платные (руб)

Развитие популярного решения для интеграции мессенджера Telegram с нашей любимой 1С - конструктор чат-ботов в Телеграм.

15000 11250 руб.

18.06.2021    69476    323    273    

380

Мобильная разработка Мессенджеры и боты Платформа 1С v8.3 Платные (руб)

Теперь создать telegram-бота - элементарно. Достаточно просто нарисовать блок-схему телеграм-бота, и он сразу заработает. Это возможно при использовании Графического конструктора телеграм-ботов. Это единственный конструктор ботов для telegram, чье качество и функционал подтверждены фирмой 1С, есть сертификат 1С:Совместимо. Расширение в интерактивном режиме, с помощью блок-схем, позволяет с минимальными трудозатратами создать телеграм-ботов в любой конфигурации, работающей на платформе «1С:Предприятие 8.3».

13200 руб.

27.12.2021    41196    117    167    

211

Мессенджеры и боты Учет документов Платформа 1С v8.3 1С:Управление нашей фирмой 1.6 1С:Бухгалтерия государственного учреждения 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 Платные (руб)

Расширение для согласования справочников и документов в основных типовых конфигурациях. Ролевая адресация, условная маршрутизация, чат-бот telegram, интеграция с n8n, последовательное и параллельное согласование, уведомление о новых задачах на почту, блокировка объектов в зависимости от статуса, запрет проведения в зависимости от статуса, автозапуск процессов согласования, отчеты по исполнительской дисциплине. Не требуется снятие конфигурации с поддержки. Настройка без программирования. Версия для 1cfresh.com. Сертификат 1С-Совместимо.

14900 руб.

15.11.2018    32912    40    49    

73

Мессенджеры и боты Учет документов Платформа 1С v8.3 1С:Документооборот Россия Платные (руб)

Сделайте взаимодействие сотрудников компании быстрым и удобным. В Личном кабинете в Телеграм сотрудники могут получать и выполнять задачи используя популярный мессенджер

11520 руб.

29.12.2022    8087    6    11    

12
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. vanoono 23.07.18 16:26 Сейчас в теме
Спасибо, просто и понятно. Прокси сервер используемый в обработке выбран случайно или есть критерии выбора ?
2. deda 425 27.07.18 11:06 Сейчас в теме
(1)Благодарю! Прокси выбрал первый попавшийся.
3. sdwggg 30.07.18 11:20 Сейчас в теме
Спасибо! А то после блокировки перестало работать, не знал как правильно прописать прокси!
4. uno-c 267 19.08.18 00:35 Сейчас в теме
Можно еще от бота в группы писать, если бота в эти группы включить
5. Dwiss 162 28.11.18 14:29 Сейчас в теме
Не отправляет:

Ошибка работы с интернет. Не могу установить соединение.
IP0808; sdwggg; +2 Ответить
6. dima_finne 19 27.02.19 15:24 Сейчас в теме
Парни, проблема в прокси сервере, вот рабочий код для подключения


Token	= КодТокена;

	
    Если НЕ ЗначениеЗаполнено(ТекстСообщения) Тогда 
        Возврат; 
    КонецЕсли;
	
	ИнтернетПрокси = Новый ИнтернетПрокси(Ложь);
	
	ИнтернетПрокси.Установить("https","178.128.31.153",8080, "", "", Ложь);
	
	Соединение  =  Новый HTTPСоединение("api.telegram.org",443,,,ИнтернетПрокси,,Новый ЗащищенноеСоединениеOpenSSL());
	ПолучениеЗапрос = "bot"+Token+"/sendMessage?chat_id="+ID+"&text="+ ТекстСообщения;
	Запрос = Новый HTTPЗапрос(ПолучениеЗапрос);
	Ответ = Соединение.Получить(Запрос);	
    
	  КодСостояния     = Ответ.КодСостояния;
    СтрокаОтвета     = Ответ.ПолучитьТелоКакСтроку();
    
    Если КодСостояния=200 тогда
        ЧтениеОтвета = Новый ЧтениеJSON;
        ЧтениеОтвета.УстановитьСтроку(СтрокаОтвета);
        РезультатСтруктура = ПрочитатьJSON(ЧтениеОтвета);
        Если РезультатСтруктура.ok = Истина Тогда
            СтруктураMessage = РезультатСтруктура.result;
        КонецЕсли;
    Иначе
        Сообщить("КодСостояния "+КодСостояния);
        Сообщить(СтрокаОтвета);
    КонецЕсли;
Показать



Рабочие прокси берите с сайта https://hidemyna.me/ru/proxy-list/?type=s#list
7. 🅵🅾️🆇 526 28.08.19 11:00 Сейчас в теме
Просто оставлю это тут
https://gist.github.com/PlugFox/5f62e43c56941e4c5a244de2422ee7f8

Пример отправки сообщений и файлов в телеграм (даже без задействования жесткого диска)
8. user1302499 06.03.20 10:42 Сейчас в теме
А можно сделать так, чтобы по номеру телефона искало id клиента, которому нужно отправить сообщение?
10. deda 425 26.03.20 05:55 Сейчас в теме
(8)Думаю это несложно. Зависит от Вашей конфигурации 1с. Если требуется доработать обработку под вашу конфигурацию - пишите мне в личку договоримся.
9. vladnet 377 21.03.20 12:30 Сейчас в теме
Но все время пишет:
Ошибка работы с Интернет: Не могу установить соединение

Я уже и платный прокси купил. И проверил его - если подставлять в телегу на том же компьютере все работает прекрасно.

Что делаю не так?

пробовал и через

socks5://87.247.143.208

и через https просто
11. deda 425 26.03.20 05:57 Сейчас в теме
(9)Тут вопрос о постоянном изменении алгоритмов работы Телеграма. Как сейчас работает Телеграм не представляю. Писалось для типового метода работы. Полагаю нужно немного поправить обработку с учетом нынешних принцыпов функционирования Телеграм.
12. user761842 01.06.20 12:56 Сейчас в теме
а как в группу написать?
"bot"+Token+"/sendMessage?chat_id="+ID+"&text="+ ТекстСообщения;
13. Sherer 7 26.11.20 16:27 Сейчас в теме
Добрый вечер.
Процедура ОтправитьСообщениеВТелеграм(Сообщение)
        
    Соединение  = ПолучитьСоединение();
    Адрес       = СтрШаблон("/bot%1/sendMessage?chat_id=%2&parse_mode=HTML&text=%3"
                , Токен
                , ИдентификаторПолучателя
                , КодироватьСтроку(Сообщение, СпособКодированияСтроки.КодировкаURL, "UTF8"));
    Заголовки   = Новый Соответствие;
    Запрос      = Новый HTTPЗапрос(Адрес, Заголовки);
    
    // GET
    Ответ       = Соединение.Получить(Запрос);
    
    // Разбор ответа
    Если Ответ.КодСостояния <> 200 Тогда
        ОтветСтрокой    = Ответ.ПолучитьТелоКакСтроку(КодировкаТекста.UTF8);
        ВызватьИсключение СтрШаблон("Ошибка отправки вложения в телеграм.
            |Код состояния: %1
            |Тело: %2"
            , Ответ.КодСостояния
            , ОтветСтрокой
        ); 
    КонецЕсли;  
КонецПроцедуры // ОтправитьСообщениеВТелеграм()

Функция ПолучитьСоединение()    
      
    Прокси      = Новый ИнтернетПрокси(Истина);
    Если ТипЗнч(ПроксиПротокол) = Тип("Строка") И Не ПустаяСтрока(ПроксиПротокол) Тогда
        Прокси.Установить(ПроксиПротокол, ПроксиСервер, Число(Формат(ПроксиПорт,"ЧГ=0")), ПроксиПользователь, ПроксиПароль);
    КонецЕсли;
    SSL         = Новый ЗащищенноеСоединениеOpenSSL();
    Соединение  = Новый HTTPСоединение("api.telegram.org", 443,,, Прокси, 30, SSL, Ложь); 
    Возврат Соединение;
КонецФункции
Показать

при попытке отправки ошибка
Ответ = Соединение.Получить(Запрос);
по причине:
Ошибка работы с Интернет: Не могу установить соединение

Помогите разобраться. Что не так делаю?
14. deda 425 29.11.20 16:00 Сейчас в теме
Доброго вечера! Вас услышал , проверю на неделе
15. VadimBruce 5 07.04.22 13:11 Сейчас в теме
Добрый день, автор, можешь отписаться мне?
Оставьте свое сообщение