|
|
|
Вопрос про Telegram и 1с , но больше про telegram | ☑ | ||
|---|---|---|---|---|
|
0
Velik2k
10.02.25
✎
22:25
|
Пытаюсь редактировать сообщения, с inline_keyboard , использую editMessageReplyMarkup, но клавиатура не меняется пропадает, хотя код отрабатывает. Может кто-то сможет помочь и сталкивался с таким.
отправляю в начале(выводятся) тут все ок. Преф = "ААИРК";
МассивКнопокInline = ПолучитьКонтрагентов(10);
ОтветСистемы = "Выберите контрагента для отчета ""Анализ активности и рейтинг клиентов"":";
//++Создание кнопок для отправки их в сообщении
СтрокиInline = Новый Массив;
Для каждого КнопкаInline ИЗ МассивКнопокInline Цикл
КнопкиInline = Новый Массив;
GUID = КнопкаInline.УникальныйИдентификатор();
ТекстCallback_query = Строка(GUID);
КнопкиInline.Добавить(Новый Структура("text, callback_data", КнопкаInline.Наименование, ТекстCallback_query));
СтрокиInline.Добавить(КнопкиInline);
КонецЦикла;
МассивКнопокInline = Новый Массив;
МассивКнопокInline.Добавить(">");
Для каждого КнопкаInline ИЗ МассивКнопокInline Цикл
КнопкиInline = Новый Массив;
КнопкиInline.Добавить(Новый Структура("text, callback_data", КнопкаInline, Преф+"Стр2"));
СтрокиInline.Добавить(КнопкиInline);
КонецЦикла;
//--Создание кнопок для отправки их в сообщении
//++гасим мигающую кнопку на которую нажал пользователь
Приемник = "bot" + СтруктураНастроек.token + "/answerCallbackQuery?callback_query_id=" + СтруктураСообщения.callback_query.id;
HTTPЗапрос = Новый HTTPЗапрос(Приемник);
Ответ = HTTPСоединение.Получить(HTTPЗапрос);
//--гасим мигающую кнопку на которую нажал пользователь
КнопкиJsInline = ЗаписатьJS(Новый Структура("inline_keyboard", СтрокиInline));//После отправки кнопок inline_keyboard он ждет ответа от пользователя callback_query
Приемник = "bot" + СтруктураНастроек.token + "/sendMessage?chat_id=" + СтрЗаменить(Формат(СтруктураСообщения.callback_query.message.chat.id, "ЧДЦ=; ЧС=; ЧРГ=."), ".", "") + "&text=" + ОтветСистемы + "&reply_markup="+КнопкиJsInline;
HTTPЗапрос = Новый HTTPЗапрос(Приемник);
Ответ = HTTPСоединение.Получить(HTTPЗапрос);
Пытаюсь поменять содержимое кнопок: Преф = "ААИРК";
message_id = ПолучитьПоследнийMessageID(СтруктураНастроек.Ссылка,СтруктураСообщения.callback_query.from.id);
МассивКнопокInline = ПолучитьКонтрагентов(20);
МассивУдаления = новый Массив;
Индекс = 0;
Пока Индекс <=9 Цикл
МассивУдаления.Добавить(МассивКнопокInline[Индекс]);
Индекс = Индекс +1;
КонецЦикла;
Для каждого Строка Из МассивКнопокInline Цикл
Для каждого СтрокаУдаления ИЗ МассивУдаления Цикл
НайденныйЭлемент = МассивКнопокInline.Найти(СтрокаУдаления);
Если НайденныйЭлемент <> Неопределено Тогда
МассивКнопокInline.Удалить(НайденныйЭлемент);
КонецЕсли;
КонецЦикла;
КонецЦикла;
ОтветСистемы = "Выберите контрагента для отчета ""Анализ активности и рейтинг клиентов"":";
//++Создание кнопок для отправки их в сообщении
СтрокиInline = Новый Массив;
Для каждого КнопкаInline ИЗ МассивКнопокInline Цикл
КнопкиInline = Новый Массив;
GUID = КнопкаInline.УникальныйИдентификатор();
ТекстCallback_query = Строка(GUID);
КнопкиInline.Добавить(Новый Структура("text, callback_data", КнопкаInline.Наименование, ТекстCallback_query));
СтрокиInline.Добавить(КнопкиInline);
КонецЦикла;
МассивКнопокInline = Новый Массив;
МассивКнопокInline.Добавить(">");
Для каждого КнопкаInline ИЗ МассивКнопокInline Цикл
КнопкиInline = Новый Массив;
КнопкиInline.Добавить(Новый Структура("text, callback_data", КнопкаInline, Преф+"Стр3"));
СтрокиInline.Добавить(КнопкиInline);
КонецЦикла;
//СтрокиInline.Добавить(КнопкиInline);
//--Создание кнопок для отправки их в сообщении
//++гасим мигающую кнопку на которую нажал пользователь
Приемник = "bot" + СтруктураНастроек.token + "/answerCallbackQuery?callback_query_id=" + СтруктураСообщения.callback_query.id;
HTTPЗапрос = Новый HTTPЗапрос(Приемник);
Ответ = HTTPСоединение.Получить(HTTPЗапрос);
//--гасим мигающую кнопку на которую нажал пользователь
КнопкиJsInline = ЗаписатьJS(Новый Структура("inline_keyboard", СтрокиInline));//После отправки кнопок inline_keyboard он ждет ответа от пользователя callback_query
Приемник = "bot" + СтруктураНастроек.token + "/editMessageReplyMarkup?chat_id=" + СтрЗаменить(Формат(СтруктураСообщения.callback_query.message.chat.id, "ЧДЦ=; ЧС=; ЧРГ=."), ".", "")+"&message_id="message_id + "&reply_markup="+КнопкиJsInline;
HTTPЗапрос = Новый HTTPЗапрос(Приемник);
Ответ = HTTPСоединение.Получить(HTTPЗапрос); |
|||
|
1
Velik2k
10.02.25
✎
22:32
|
все я разобрался
|
|||
|
2
Kongo2019
10.02.25
✎
22:34
|
(1) А нам рассказать?
|
|||
|
3
Velik2k
10.02.25
✎
22:35
|
добавил формат.
"&message_id="+ Формат(message_id, "ЧДЦ = 0;ЧГ = ") |
|||
|
4
Волшебник
10.02.25
✎
22:41
|
красавчег!
|
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |