Заказы на доработку 1С (сервис удаленной работы)

Хранилище

База знаний
Бесплатные отчеты, обработки, конфигурации, внешние компоненты для 1С Статьи, описание работы, методики по работе с 1С

Здравствуйте, гость ( Вход | Зарегистрироваться )



> Интеграция с Телеграмм , Отправка сообщений в телеграмм бот          
Lunatik_55 Подменю пользователя
сообщение 06.12.20, 14:35
Сообщение #1

Молчаливый
*
Группа: Пользователи
Сообщений: 8
Спасибо сказали: 0 раз
Рейтинг: 0

Разобрался как отсылать сообщения, но не получается отослать многоуровневый тест
    XMLHTTP = СоздатьОбъект("Microsoft.XMLHTTP");
    XMLHTTP.Open("POST","https://api.telegram.org/bot"+Токен+"/sendMessage?chat_id="+chat_id+"&text="+ Сообщение,0);
    XMLHTTP.SetRequestHeader("Content-Type", "application/json;charset=utf-8");     //charset=utf-8
    XMLHTTP.Send();

Если отправить текст сообщения
"1
2"
в телеграмм приходит "12". Может кто подсказать, как нужно отформатировать текст, чтобы в телеграмм боте он тоже был многоуровневым, а не сбивался в одну строку.
Есть процедура форматирования текста в utf-8, но привел пример именно с цифрами, чтобы не отвлекаться на форматирование.

p.s Читаю гугл, но за рамки стандартного 1с раньше не выходил и интеграция с телеграмм продвигается очень медленно. Может у кого то есть пример кода или обработки в 1с77, как делать выделение текста отправляемого в телеграмм, любое другое оформление или просто пример любой интеграции.

Naghual Подменю пользователя
сообщение 06.12.20, 17:04
Сообщение #2

Завсегдатай
****
Группа: Пользователи
Сообщений: 102
Из: Днепропетровск
Спасибо сказали: 21 раз
Рейтинг: 0

[необходимо зарегистрироваться для просмотра ссылки]


Signature
Я желаю всем Счастья!

volodya1122 Подменю пользователя
сообщение 07.12.20, 11:47
Сообщение #3

Оратор
Иконка группы
Группа: Местный
Сообщений: 344
Из: Тернопіль
Спасибо сказали: 138 раз
Рейтинг: 140.7

в восьмерке для єтого я использую такой код
ТекстСообщения=СтрЗаменить(ТекстСообщения,Символы.ПС,"%0A");

AndriiZ Подменю пользователя
сообщение 17.06.24, 23:25
Сообщение #4

Молчаливый
*
Группа: Пользователи
Сообщений: 1
Спасибо сказали: 0 раз
Рейтинг: 0

Lunatik_55 @ 06.12.20, 14:35 * ,
Подскажите, как отправить в документ (файл) в телеграмм?

volodya1122 Подменю пользователя
сообщение 19.06.24, 8:08
Сообщение #5

Оратор
Иконка группы
Группа: Местный
Сообщений: 344
Из: Тернопіль
Спасибо сказали: 138 раз
Рейтинг: 140.7

AndriiZ @ Вчера, 0:25 * ,

Код для 1С8. Як в 1с7 це зробити -незнаю.

Процедура ОтправитьФайл(ПутьКФайлу,ЧатID)
    
МойToken = "4545454545:ghfhfdttjdghjhjthjhdgjhjghjdghjghj";
АдресTelegramAPI = "api.telegram.org";
//ЧатID = "111222333";

//ПутьКФайлу = "D:\Договор.pdf";
Boundary = "----"+Строка(Новый УникальныйИдентификатор());

Файл = Новый Файл(ПутьКФайлу);

//Определяем массив для процедуры ОбъединитьФайлы
МассивФайловДляОбъединения = Новый Массив;

ФайлВМассив1=ПолучитьИмяВременногоФайла("txt");
МассивФайловДляОбъединения.Добавить(ФайлВМассив1);
ФайлОтправкиНачало = Новый ЗаписьТекста(МассивФайловДляОбъединения[0], КодировкаТекста.UTF8);
НачальныеДанные = "--%Разделитель%
|Content-Disposition: form-data; name=""chat_id""
|
|%ЧатID%
|--%Разделитель%
|Content-Disposition: form-data; name=""document""; filename=""%ИмяФайла%""
|";
НачальныеДанные = СтрЗаменить(НачальныеДанные,"%Разделитель%",Boundary);
НачальныеДанные = СтрЗаменить(НачальныеДанные,"%ЧатID%",ЧатID);
НачальныеДанные = СтрЗаменить(НачальныеДанные,"%ИмяФайла%",Файл.Имя);

ФайлОтправкиНачало.ЗаписатьСтроку(НачальныеДанные );
ФайлОтправкиНачало.Закрыть();

МассивФайловДляОбъединения.Добавить(ПутьКФайлу);

ФайлВМассив2=ПолучитьИмяВременногоФайла("txt");
МассивФайловДляОбъединения.Добавить(ФайлВМассив2);
ФайлаОтправкиКонец = Новый ЗаписьТекста(МассивФайловДляОбъединения[2], КодировкаТекста.UTF8);
КонечныеДанные = "
|--%Разделитель%--";
КонечныеДанные = СтрЗаменить(КонечныеДанные,"%Разделитель%",Boundary);

ФайлаОтправкиКонец.ЗаписатьСтроку(КонечныеДанные);
ФайлаОтправкиКонец.Закрыть();

ИмяИтоговогоФайла = ПолучитьИмяВременногоФайла("txt");
ОбъединитьФайлы(МассивФайловДляОбъединения, ИмяИтоговогоФайла);

//Прокси = Новый ИнтернетПрокси;
//Прокси.Установить("https", ПроксиАдрес, ПроксиПорт);
//Прокси.Установить("http", ПроксиАдрес, ПроксиПорт);

//СоединениеHTTP  =  Новый HTTPСоединение(Сервер,443,,,,5,Новый ЗащищенноеСоединениеOpenSSL());

СоединениеHTTP = Новый HTTPСоединение(АдресTelegramAPI,443,,,,5,Новый ЗащищенноеСоединениеOpenSSL());

АдресЗапроса = "bot"
                + МойToken
                + "/sendDocument";
                
ЗапросHTTP = Новый HTTPЗапрос(АдресЗапроса);
ЗапросHTTP.Заголовки.Вставить("Connection", "keep-alive");
ЗапросHTTP.Заголовки.Вставить("Content-Type", "multipart/form-data; boundary="+Boundary);

ЗапросHTTP.УстановитьИмяФайлаТела(ИмяИтоговогоФайла);


Попытка
    ОтветHTTP = СоединениеHTTP.ОтправитьДляОбработки(ЗапросHTTP);
Исключение
    Сообщить(ОписаниеОшибки());
КонецПопытки;    

УдалитьФайлы(ФайлВМассив1);
УдалитьФайлы(ФайлВМассив2);
//УдалитьФайлы(ИмяИтоговогоФайла);  // інколи вилітає помилка при видаленні
УдалитьФайлы(ПутьКФайлу);

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


Сообщение отредактировал volodya1122 - 19.06.24, 8:17

Спасибо сказали: Vofka,

Не нашли ответа на свой вопрос?
Зарегистрируйтесь и задайте новый вопрос.


Ответить Новая тема
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 

RSS Текстовая версия Сейчас: 22.06.24, 4:11
1С Предприятие 8.3, 1С Предприятие 8.2, 1С Предприятие 8.1, 1С Предприятие 8.0, 1С Предприятие 7.7, Литература 1С, Общие вопросы по администрированию 1С, Методическая поддержка 1С - всё в одном месте: на Украинском 1С форуме!