Интеграция 1С с мессенджером Telegram для любой конфигурации

0. Техподдержка 05.03.18 11:37
Интеграция 1С с мессенджером Telegram для любой конфигурации (типовой или самописной) для любого режима запуска (тонкий, толстый клиент).
Для встраивания системы достаточно объединить свою конфигурацию с предложенной — в результате в Вашей конфигурации появится подсистема Телеграм.
Весь функционал (код) является открытым для доработки/изменения.
Платформа 1С 8.3.6 и выше.

Возможность настройки подключения в обход блокировки в РФ через прокси (socks5 или http)

Перейти к публикации

Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. 7OH 32 07.03.18 12:38 Сейчас в теме
Регламент...
То есть оно будет постоянно "напрягать" интернет в попытке поймать запрос от пользователя ?
А кроме отсылки одного файла что может ?
Может например коллекцию фото отправить (не по одной,а именно коллекцию) ?
2. Техподдержка 07.03.18 14:56
(1) Нет, это требует доработки (хоть и минимальной)
3. Техподдержка 22.03.18 15:19
Добавил возможность отправки нескольких файлов:
4. spenser123 16.04.18 16:05 Сейчас в теме
Проблему блокировки или proxy не решали?)
nayd; danil157; +2 Ответить
5. Техподдержка 19.04.18 11:06
(4) Одно из решений проблемы описал по этой ссылке: Обход блокирования Telegram в 1С:Предприятие 8
6. spenser123 19.04.18 16:20 Сейчас в теме
(5) к сожалению, делая так же как указано по ссылке, при наличии рабочего socks5 прокси который работает на всех устройствах, из 1С получается ошибка инициализации SSL :(
7. Техподдержка 19.04.18 17:05
(6) такое возможно, например, в случае, когда в методе ИнтернетПрокси.Получить() в первом параметре указывается не защищенный протокол "https", а "http". И в HTTPСоединение не указан порт 443 (защищенного соединения).
В настоящее время в моей боевой базе отрабатывается без ошибки.
И еще, в методе Получить() обратите внимание на последний параметр ИспользоватьАутентификациюОС
8. spenser123 19.04.18 17:29 Сейчас в теме
(7)
ИнтернетПрокси.Получить()
Вы хотели сказать ИнтернетПрокси.Установить()?
Разные варианты пробовал, но этот метод:
Прокси = Новый ИнтернетПрокси;
		
		Если ПараметрыПрокси.ЗначениеЗадано = Истина Тогда
			Прокси.Установить("https", "socks5://"+ПараметрыПрокси.Сервер, ПараметрыПрокси.Порт, ПараметрыПрокси.Логин, ПараметрыПрокси.Пароль, Ложь);
		КонецЕсли;

		Соединение = Новый HTTPСоединение("api.telegram.org",443,,,Прокси,20,Новый ЗащищенноеСоединениеOpenSSL(Новый СертификатКлиентаWindows(),Новый СертификатыУдостоверяющихЦентровWindows()));
Показать

Выдает ошибку SSL у нас :( (p.S.: Новый ЗащищенноеСоединениеOpenSSL по разному пытались и через просто Новый ЗащищенноеСоединениеOpenSSL() и с неопределено внутри), буду рад если в коде найдется ошибка =)
9. Техподдержка 19.04.18 17:48
(8) Да, Установить()

Попробуйте Соединение (последнюю строку) в таком виде использовать:
Соединение = Новый HTTPСоединение("api.telegram.org",443,,,Прокси,20,Новый ЗащищенноеСоединениеOpenSSL());


Я бы для чистоты еще Таймаут убрал (он у вас 20 секунд)
10. nayd 9 19.04.18 18:50 Сейчас в теме
(5) у меня, как и у (6) такая же проблема.
Разобрался, работает.
Спасибо большое :-)
11. spenser123 23.04.18 13:39 Сейчас в теме
12. nayd 9 23.04.18 14:27 Сейчас в теме
(11) у меня без секрета
В первый раз не сработало, потому что прошлый код соединения без прокси был у меня в нескольких местах. Я в одном месте-то поменял и не сразу понял, почему все равно не работает.
Да и еще: я не стал делать через попытку. У меня через Если Константа.ИспользоватьПрокси сделано
13. spenser123 23.04.18 14:42 Сейчас в теме
(12)
рошлый код соединения без прокси был у меня в нескольких местах. Я в одном месте-то поменял и не сразу понял, почему все равно не работает.
жаль( думал секрет какой-то в мелочи сидит, я так и не смог побороть ошибку SSL...
14. Техподдержка 23.04.18 15:05
(13) А что, ошибка осталась после удаления параметров в конструкции Новый ЗащищенноеСоединениеOpenSSL()?
15. spenser123 23.04.18 16:02 Сейчас в теме
(14) да, изначально писал что пробовали все варианты, в том числе и без параметров - результат неизменный.
16. South 25.04.18 21:07 Сейчас в теме
(15) не смогли решить проблему?
17. spenser123 26.04.18 12:21 Сейчас в теме
(16) Не удалось пока что, пришлось отвлечься на другие задачи (ввиду отчетности :))
18. nayd 9 13.08.18 18:14 Сейчас в теме
PS: вопрос снят. Ложная тревога)
19. gglvov 19.10.18 13:46 Сейчас в теме
Странно, но у меня не работает:

Прокси.Установить("https", "socks5://jqlwb.teletype.live", 1080, "telegram", "telegram", Ложь);

И так не работает:

Прокси.Установить("https", "socks5://telegram:telegram@jqlwb.teletype.live:1080", 1080, "telegram", "telegram", Ложь);

Причем через curl на тех же параметрах все прекрасно работает:

curl --socks5-hostname telegram:telegram@jqlwb.teletype.live:1080 "https://api.telegram.org/botTELEGA:TOKEN/sendMessage?chat_id=CHATID&text=HelloWorld"

В чем может быть проблема? У меня на компе платформа 8.3.12.1616, на мобильном устройстве 8.3.12.67. Ни там, ни там не может установить соединения

Пока пришлось использовать Shadowsocks от китайских товарищей, но хочется более красивого решения
21. gglvov 24.10.18 14:26 Сейчас в теме
(20) Ошибка при вызове метода контекста (Получить): Ошибка работы с Интернет. Не могу установить соединение.

Вот контекст вызова ошибки

Соединение = Новый HTTPСоединение(
пар.Хост,
,
,
,
ПроксиСервер,
5,
Новый ЗащищенноеСоединениеOpenSSL()
);

АдресРесурса = "bot" + пар.Токен + "/sendMessage?chat_id=" + СокрЛП(ЧатИД)+ "&text=" + ТелеграмСервер.КодироватьСообщение(ТекстСообщения);

Запрос = Новый HTTPЗапрос(АдресРесурса);
Попытка
Ответ = Соединение.Получить(Запрос);
Исключение
Возврат ОписаниеОшибки();
КонецПопытки;
22. Техподдержка 05.12.18 15:41
(21) на ИТС есть статья Добавление сертификата DigiСert в cacert.pem
не исключаю, что проблема где-то рядом
23. gglvov 05.12.18 21:07 Сейчас в теме
Спасибо за идею,

но что-то не верится, т.к. с одного и того же компьютера curl работает, а 1С нет.
Я думаю, что проблема в реализации объекта Прокси в части работы через протокол socks5.
Хотя может быть именно поэтому Прокси и не поднимает socks5, т.к. не находит сертификата, но есть сильные сомнения, ведь у меня последние версии платформ для десктопа и мобильной версии.
К тому же мне надо, чтобы отправка данных в телегу была из мобильного приложения. Если не использовать Прокси (например, включить ВПН на мобиле или компе), то все работает шикарно - гоняются сообщения и файлы. Пока так и выкручиваемся
Оставьте свое сообщение
Вопросы с вознаграждением