Добрый день. Подскажите пожалуйста, есть тч, в ней 2 колонки "ИмяСсылки" и "СсылкаНаСайт", как отправить из тг данные ссылки, чтобы сообщение пришло "ИмяССылки" (ссылка на сайт). Делаю все через "sendMessage"

```1c
    ИначеЕсли ТекстЗапроса = "/фотографии" Тогда
    СсылкаНаФото = Справочники.ПользовательскиеПоля.НайтиПоКоду("000000001");
    Ссылка = СсылкаНаФото.СсылкиНаФотографии;
    Длина2 = 0;
    МассивURL = Новый Массив;
    МаасивСсылок = Новый Массив;
    Для каждого Элемент из Ссылка Цикл

    МаасивСсылок.Добавить(Элемент.ИмяСсылки);
    ДлинаСтр = СтрДлина(Элемент.ИмяСсылки);
    Длина2 = Длина2+ДлинаСтр;
    СтруктураURL = Новый Структура("url", Элемент.СсылкаНаСайт);
    СтруктураURL.Вставить("type","text_link");
    СтруктураURL.Вставить("offset",0);
    СтруктураURL.Вставить("length",ДлинаСТр);
    //
    ////МассивURL = Новый Массив;
    МассивURL.Добавить(СтруктураURL);
    КонецЦикла;

    СтруктураСообщения.Вставить("text",МаасивСсылок);

    СтруктураСообщения.Вставить("entities",МассивURL);
```

но так не работает. Выводит сообщение в виде

"ИмяСсылки1" но тут есть ссылка и то как то наполовину
"ИмяСсылки2" - тут просто текст и дальше тоже пошел текст
---
Нашел возможно способ более удобный, не через HTML, ставите
parse_mode=markdown

а ссылки в таком виде

```1c
    СсылкиТекст = ";
    Для каждого Элемент из Ссылка Цикл
    СсылкиТекст = СсылкиТекст + "[" + Элемент.ИмяСсылки + "]" + "("+Элемент.СсылкаНаСайт + ")" + Символы.ПС;
    КонецЦикла;

    СтруктураСообщения.Вставить("text", СсылкиТекст);
```

[ИмяСсылки](Ссылка)

также Элемент.СсылкаНаСайт и Элемент.СсылкаНаСайт должны быть с типом Строка
---
```1c
    СсылкиТекст = СсылкиТекст + "[" + Элемент.ИмяСсылки + "]" + "("+Элемент.СсылкаНаСайт + ")" + Символы.ПС;
```

порядок не верный, сначало имя, потом ссылка, возможно я ввел в заблуждение)
---
```1c
    Ресурс = "bot" + Token + "/sendMessage?chat_id=" + Формат(ЧатID, "ЧДЦ = 0; ЧГ = ") + "&text= " + Сообщение + "&parse_mode=markdown";
    Соединение = Новый HTTPСоединение(Сервер,443,,,,, Новый ЗащищенноеСоединениеOpenSSL());
    Запрос = Новый HTTPЗапрос(Ресурс);

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

я в таком варианте отправляю, в текст для отправки просто передается ссылка и она корректно отображается
https://forum.infostart.ru/
---
если в текст ссылку вставлять, то я не заморачивался с этим бы. А нужно вот именно, каждой ссылке давать наименование.
---
parse_mode ставить HTML и указываете ссылку как для HTML, код не совсем корректно передал, форум не дает, но думаю сможете посмотреть как в HTML ссылки добавляются

```1c
    a href="Наименование ссылки">...
```
---
```1c
    Ресурс = "bot"+Настройка.КлючАПИ+"/"+Команда + "&parse_mode=HTML";
```
 так подключение не идет.

Где, ключАПИ - Токен, Команда - sendmessage
---
токен у вас тот, который выдал BotFather? формата 1111:wieewieiwks?
---
6521419177:AAGkUY....
---
можете прислать код как вы пытаетесь отправлять? без рабочего токена и id естественно
---
/sendMessage?chat_id=" + Формат(ЧатID, "ЧДЦ = 0; ЧГ = ") + "&text= " + Сообщение + "&parse_mode=markdown"

СПАСИБОО!!!! децйствитель, не передавались параметра ид

Помогите, пожалуйста, расставить кавычки правильно в тексте

СтруктураСообщения.Вставить("text","|<a hrеf=" "https://infostart.ru/" " >Ссылка на Infostart</a >");

вместо
https://infostart.ru/" - Элементы.Ссылка

Ссылка на Infostart - Элементы.ИмяСсылки
---
не могу вставить код, вставляется как ссылка, на прикрепленном файле как формировать ссылку к тексту
---
```1c
    Процедура ОтправитьСообщение (СтруктураСообщения,ok,ИмяФайлаОтправки=",ЗаголовокФайла=",Настройка) Экспорт

    Сервер = "api.telegram.org";
    //Прокси = ПолучитьПрокси();
    Соединение = Новый HTTPСоединение(Сервер,,,,,,Новый ЗащищенноеСоединениеOpenSSL);
    Запрос = Новый HTTPЗапрос();

    Если ЗначениеЗаполнено(ИмяФайлаОтправки) Тогда

    //АдресФайла = СтруктураСообщения.text;
    //СтруктураСообщения.удалить("text");
    Команда = "sendDocument";

    Boundary = СтрЗаменить(Строка(Новый УникальныйИдентификатор()),"-",");

    Запрос.Заголовки.Вставить("Content-Type","multipart/form-data; boundary="+Boundary);
    //Запрос.Заголовки.Вставить("Connection", "keep-alive");

    //ИмяФайлаДляЗапроса = ПолучитьТектсФайлаОтправки(Boundary,ИмяФайлаОтправки,СтруктураСообщения,ЗаголовокФайла);

    //Запрос.Заголовки.Вставить("Content-Length", Формат(СтрДлина(ТелоОтправки),"ЧГ=0"));

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

    Иначе

    Команда = "sendMessage";
    СтрокаПоПараметрам = ПолучитьСтрокуТелаЗапроса(СтруктураСообщения);
    //СтрокаПоПараметрам = ПолучитьСтрокуПоПараметрамЖСОН(СтруктураСообщения);
    Запрос.Заголовки.Вставить("Content-Type","application/json");

    //Запрос.УстановитьТелоИзСтроки(СтрокаПоПараметрам,,ИспользованиеByteOrderMark.НеИспользовать);
    Запрос.УстановитьТелоИзСтроки(СтрокаПоПараметрам,"CESU-8");

    КонецЕсли;

    Ресурс = "bot"+Настройка.КлючАПИ+"/"+Команда + "&parse_mode=HTML";
    Запрос.АдресРесурса = Ресурс;

    Ответ = Соединение.ОтправитьДляОбработки(Запрос);
    Запрос = Неопределено;
    Соединение= Неопределено;
    Если ЗначениеЗаполнено(ИмяФайлаОтправки) Тогда
    УдалитьФайлы(ИмяФайлаОтправки);
    КонецЕсли;

    ОтветСоотв = ПолучитьСтруктуруИзJSON(Ответ.ПолучитьТелоКакСтроку());

    ok = ?(ОтветСоотв.Свойство("ok"),ОтветСоотв["ok"],неопределено);

    Если ok = Ложь Тогда
    Сообщить(ОтветСоотв["description"]);
    КонецЕсли;

    Соединение = Неопределено;

    КонецПроцедуры
```
---
в вашей команде, вы не передаете Chat_id и text, они являются обязательными для sendMessage
Chat_id - id пользователя, которому вы отправляете сообщение
---
Передаю. В структуре сообщения, уже в процедуре ОтправитьЗапрос.
---
пришлите пожалуйста что сформировано в Ресурсе (без личных данных)
---
botИД7:Токен/sendMessage&parse_mode=HTML
---
ну получается chat_id и text там нет, или вы убрали вместе со значениями?
---
Сообщение было скрыто модератором.
---
Сообщение было скрыто модератором.
---
Сообщение было скрыто модератором.
---
контакты личные лучше не оставляйте на общем форуме, всякие люди бывают...
---
Сообщение было скрыто модератором.
---
извините, я не готов переходить в другие соц сети для помощи, все в рамках форума
---
Попробуйте для отправки сообщения использовать мой вариант выше, возможно вам не придется использовать тот способ, которым вы пробуете отправить сообщение и тем самым код сократится
---
ну и в 15 ответе, вам показали, в каком виде будет запрос
---
```1c
    Для каждого Элемент из Ссылка Цикл
    СтруктураСообщения.Вставить("text","<a hrеf="" + Элемент.СсылкаНаСайт + "">" + Элемент.ИмяСсылки + "</a>");
    КонецЦикла
```

Все равно, с ТЧ работать не хочет
---
вы попробовали сформировать для начала по одной ссылке без ТЧ и цикла?
---
по одной ссылке все работает. то есть как показано выше, где все текстом.
---
```1c
    ИначеЕсли ТекстЗапроса = "/фотографии" Тогда
    СсылкаНаФото = Справочники.ПользовательскиеПоля.НайтиПоКоду("000000001");
    Ссылка = СсылкаНаФото.СсылкиНаФотографии;
    //Длина2 = 0;
    МассивСсылок = Новый Массив;
    МассивИмен = Новый Массив;

    //МассивURL = Новый Массив;
    //МаасивСсылок = Новый Массив;
    Для каждого Элемент из Ссылка Цикл
    МассивИмен.Добавить(Элемент.ИмяСсылки);
    МассивСсылок.Добавить(Элемент.СсылкаНаСайт);
    КонецЦикла;

    СтруктураСообщения.Вставить("text","<a hrеf="" + МассивСсылок + "">" + МассивИмен + "</a>");
```

В итоге переделал так. Но на печать выводит "Массив". Без ссылки и всего прочего
---
тогда попробуйте с таким вариантом

```1c
    СсылкаНаФото = Справочники.ПользовательскиеПоля.НайтиПоКоду("000000001");
    Ссылка = СсылкаНаФото.СсылкиНаФотографии;

    СсылкиТекст = ";
    Для каждого Элемент из Ссылка Цикл
    СсылкиТекст = СсылкиТекст + "<a hrеf="" +Элемент.СсылкаНаСайт + "">" + Элемент.ИмяСсылки + "</a>" + Символы.ПС);
    КонецЦикла;

    СтруктураСообщения.Вставить("text", СсылкиТекст);
```
---
botИдБота:AТокен/sendMessage?chat_id=Ид&text= <a hrеf="//disk.yandex.ru/i/q0oPy-OB79VyuA/">Камень 1</a>&parse_mode=HTML

Вот в таком виде я отправляю сообщение

но в ответ приходит камень, без ссылки
---
личный id советую убрать, на форуме не стоит это писать
---
может я ссылки не в том формате вставляю?
---
Все форматы ссылок попробовал и: /, //, https:// . все
---
Выводит 2 сообщения, по всей ТЧ. Но ссылок нет:(
---
Нашел возможно способ более удобный, не через HTML, ставите
parse_mode=markdown

а ссылки в таком виде

```1c
    СсылкиТекст = ";
    Для каждого Элемент из Ссылка Цикл
    СсылкиТекст = СсылкиТекст + "[" + Элемент.ИмяСсылки + "]" + "("+Элемент.СсылкаНаСайт + ")" + Символы.ПС;
    КонецЦикла;

    СтруктураСообщения.Вставить("text", СсылкиТекст);
```

[ИмяСсылки](Ссылка)

также Элемент.СсылкаНаСайт и Элемент.СсылкаНаСайт должны быть с типом Строка
---
СсылкиТекст + "[" + Элемент.СсылкаНаСайт "]" + "("+Элемент.СсылкаНаСайт + ")";

Тип строка. Ссылки пришли) только сами ссылки , без имен(

```1c
    ИначеЕсли ТекстЗапроса = "/фотографии" Тогда
    СсылкаНаФото = Справочники.ПользовательскиеПоля.НайтиПоКоду("000000001");
    Ссылка = СсылкаНаФото.СсылкиНаФотографии;
    СсылкиТекст = ";
    Для каждого Элемент из Ссылка Цикл
    СсылкиТекст = СсылкиТекст + "[" + Элемент.СсылкаНаСайт + "]" + "("+Элемент.ИмяСсылки + ")" + Символы.ПС;
    //СсылкиТекст = СсылкиТекст + "<a hrеf="" +Элемент.СсылкаНаСайт + "">" + Элемент.ИмяСсылки + "</a>" + Символы.ПС;
    КонецЦикла;

    СтруктураСообщения.Вставить("text", СсылкиТекст);
```
---
```1c
    СсылкиТекст = СсылкиТекст + "[" + Элемент.ИмяСсылки + "]" + "("+Элемент.СсылкаНаСайт + ")" + Символы.ПС;
```

порядок не верный, сначало имя, потом ссылка, возможно я ввел в заблуждение)
---
Да!!!
Спасибо!! огромнейшее
---
только теперь другая ссылка не отпраляется(

```1c
    ИначеЕсли ТекстЗапроса = "/написать в телеграмм менеджеру головной щелково" Тогда

    Контакты1 = Справочники.ПользовательскиеПоля.НайтиПоКоду("000000001");
    СтруктураСообщения.Вставить("text", "Напишите нам в бот в Щелково");
    СтруктураURL = Новый Структура("url",Контакты1.ТГЩелково);
    СтруктураURL.Вставить("type","text_link");
    СтруктураURL.Вставить("offset",0);
    СтруктураURL.Вставить("length",28);
    МассивURL = Новый Массив;
    МассивURL.Добавить(СтруктураURL);
    СтруктураСообщения.Вставить("entities",МассивURL);
```
---
скорее всего значения моего способа пересекаются с этим кодом, выполнять это разными процедурами и удобнее для читаемости кода, ну или пришлите полный код))
---
там в полном коде я уже с трудом разбираюсь))
а это нельзя как нибудь вывести?)
---
а почему нельзя, просто добавляете две процедуры например, в одной выполняются добавление ссылок по текущей задачей, а в другой то что вы делаете по коду выше
---
я сам не так долго в 1С, но как показывает опыт, код нужно писать в таком виде, чтобы вы через время смогли его понять и другой человек с опытом работы также смог разобраться
---
а раз Вы так разбираетесь в ТГ, не подскажите, как добавить кнопку меню и чтобы в ней были все мои команды?)
---
а вообще есть в интернете Конструктор бота телеграм, там есть необходимый функционал, чтобы не изобретать колесо
---
Все починил)

```1c
    Строка = "Напишите нам в бот в Щелково";
    СтруктураСообщения.Вставить("text","[" + Строка + "]" + "(" + Контакты1.ТГЩелково + ")");
```
---
"&reply_markup=" + ТекстКнопок к общему запросу

```1c
    ТекстКнопок = "
    |{
    | "inline_keyboard": [
    | [
    | {
    | "text": "Нажми кнопку",
    | "callback_data": "ОбработкаНажатияКнопки",
    | "url": "Ссылка на какой-нибудь сайт"
    | }
    | ]
    | ]
    |}
    |";
```

и тут можно добавлять нужное количество кнопок