![]() |
|
Вопрос про 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
|
красавчег!
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |