Имя: Пароль:
1C
1С v8
1с и телеграм
0 semiluki
 
03.06.22
21:39
Коллеги, подскажите пожалуйста. Нужно из 1с отправить сообщение пользователю в телеграмм.
Делаю так

Ресурс = "bot" + Токен + "/sendMessage?chat_id=" + Формат(ИдентификаторПолучателя,"ЧГ=") + "&text= " + Сообщение;
    Соединение  = Новый HTTPСоединение("api.telegram.org",443,,,,,Новый ЗащищенноеСоединениеOpenSSL());
    Запрос = Новый HTTPЗапрос(Ресурс);
    Ответ = Соединение.Получить(Запрос);

Сервер возвращает ошибку 400. Что я делаю не так?
1 vova1122
 
03.06.22
21:50
ID="111222333";    
Сервер = "api.telegram.org";
Ресурс = "bot" + Токен + "/SendMessage?chat_id=" +ID + "&text=" + ТекстСообщения;
Соединение  =  Новый HTTPСоединение(Сервер,443,,,,5,Новый ЗащищенноеСоединениеOpenSSL());
Запрос = Новый HTTPЗапрос(Ресурс);
Ответ = Соединение.Получить(Запрос);

пользуйся
2 vova1122
 
03.06.22
21:51
Учти что в тексте Сообщения не должно быть всяких нестандартных символолов типа Символы.ПС и ему подобные. Их нужно заменить
3 DES
 
04.06.22
16:07
А как узнать свой ID= ?
4 mdao
 
04.06.22
16:26
(3) @myidbot /getid
5 DES
 
04.06.22
17:02
а chat_id= откуда взять?
6 valerivp
 
05.06.22
09:49
(0) еще можно использовать конструктор ботов, например https://www.v8-pr.ru/
7 Конструктор1С
 
05.06.22
13:56
Ресурс = "bot" + Токен + "/sendMessage?chat_id=" + Формат(ИдентификаторПолучателя,"ЧГ=") + "&text= " + Сообщение;

блин... такую строку и без того тяжело читать, а он ещё вызов функции в неё пихает
8 Выпрь
 
05.06.22
15:14
(7) сложно прочитать строку из 3х переменных?
Может профессию стоит сменить?
9 Конструктор1С
 
05.06.22
15:40
(8) вот тебе точно стоит поменять, раз так рассуждаешь. Нафейхоа усложнять код, когда можно написать нормально?
10 Бабрак Кармаль
 
05.06.22
15:50
(9) Ты своим упрямством начинаешь все больше походить на гыгыгения.
11 Конструктор1С
 
05.06.22
15:58
(10) ну извините, что задеваю ваши священные привычки писать невнятный код
12 DES
 
05.06.22
20:02
(11) а как правильно?
13 Конструктор1С
 
05.06.22
21:27
Ресурс = "bot{Токен}/sendMessage?chat_id={ID}&text={Сообщение}";

Потом через СтрЗаменить() подсовываешь конкретные значения вместо болванок в фигурных скобках. Получается каноничное создание строки по типу формулы в учебниках

<Формула>
где,
а - что-то там
б - что-то там
в - что-то там
14 Бабрак Кармаль
 
05.06.22
23:22
(13) А где можно весь бложек о правльно и неправильно почитать?
15 Конструктор1С
 
06.06.22
06:16
(14) в умных книжках по программированию
16 Конструктор1С
 
06.06.22
06:24
+в стандартах на ИТС
17 semiluki
 
14.06.22
19:05
(1) Все работает. Спасибо. Следующий вопрос, хочу в сообщение телеграмму передать внешнюю навигационную ссылку. Телеграмм обрезает навигационную ссылку. Передает только адрес веб сервера, видимо из за кириллицы в ссылке. Можно ли как то это обойти?
18 b_ru
 
14.06.22
19:12
(14) Начитаются умных книжек, пихают СтрЗаменить куда попало, а потом у них "хэлло ворд" по полгига весит и по 20 секунд отрабатывает на 5 Ггц процессоре.
19 rudnitskij
 
14.06.22
21:26
Одно дело - уметь программировать, другое - читать "умные книжки"
20 Evil-Wisp
 
15.06.22
04:25
(17) Возможно у тебя служебные символы в ссылке. Надо их заменить
    Сообщение = СтрЗаменить(Сообщение,"+", "%2B");
    Сообщение = СтрЗаменить(Сообщение,"&", "%26");
21 semiluki
 
27.07.22
20:29
Подскажите пожалуйста из 1с отправляю сообщение с кнопками в телеграмм. Вод код "bot" + СтруктураНастроек.token + "/sendMessage?chat_id=" + СтрЗаменить(Формат(ID_Пользователя, "ЧДЦ=; ЧС=; ЧРГ=."), ".", "") + "&text=" + ТекстСогласования + "&reply_markup=" + ВыборКнопок;  

До недавнего времени все работало. Сейчас перестало. Кнопки к сообщению прикрепить не удается. Без кнопок все работает.
"bot" + СтруктураНастроек.token + "/sendMessage?chat_id=" + СтрЗаменить(Формат(ID_Пользователя, "ЧДЦ=; ЧС=; ЧРГ=."), ".", "") + "&text=" + ТекстСогласования;

Как прикрепить кнопки к сообщению в телеграмм?
Оптимист верит, что мы живем в лучшем из миров. Пессимист боится, что так оно и есть.