vk icon indicating copy to clipboard operation
vk copied to clipboard

5.245 метод - messages.send новый параметр - format_data

Open ivanmem opened this issue 1 year ago • 8 comments

Появилось форматирование текста.

format_data: {"version":1,"items":[{"type":"url","offset":26,"length":6,"url":"https://google.com"}]}
peer_id: -189000000
random_id: -123
message: Это сообщение со ссылкой. Ссылка.
entrypoint: list_all
group_id: 0
from: reforged
format_data: {"version":1,"items":[{"type":"bold","offset":40,"length":12},{"type":"italic","offset":54,"length":15},{"type":"underline","offset":72,"length":18}]}
peer_id: -189000000
random_id: -123
message: Это сообщение с форматированием текста. Жирный текст. Курсивный текст.  Подчёркнутый текст.
entrypoint: list_all
group_id: 0
from: reforged

image

image

ivanmem avatar Dec 11 '24 21:12 ivanmem

Есть информация как его использовать?

vk.messages.send(random_id=get_random_id(), message="Это сообщение со ссылкой. Ссылка.", chat_id=CHAT_ID, format_data={"version": 1, "items": [{"type": "url", "offset": 26, "length": 6, "url": "https://google.com"}]})
-> vk_api.exceptions.ApiError: [100] One of the parameters specified was missing or invalid: format_data contains incorrect JSON

RarDay avatar Mar 14 '25 07:03 RarDay

@RarDay ошибка скорее всего из-за кривого JSON в format_data. Поскольку я сейчас проверил через vk.com и изменений не увидел:

format_data: {"version":"1","items":[{"type":"bold","offset":1,"length":2}]}

Скорее всего кавычек не хватает.

ivanmem avatar Mar 17 '25 21:03 ivanmem

Вряд ли он станет новым параметром для messages.send, так как в .send уже есть параметр payload, который в будущем, возможно, будет обрабатывать все форматированные сообщения.

skxzv avatar May 15 '25 17:05 skxzv

@skxzv всмысле "станет", это уже сложившаяся реальность, боты давно это уже используют.

ivanmem avatar May 15 '25 18:05 ivanmem

@skxzv всмысле "станет", это уже сложившаяся реальность, боты давно это уже используют.

понял

skxzv avatar May 15 '25 18:05 skxzv

@RarDay format_data в messages.send нужно передавать уже json строкой: messages.send(..., format_data=json.dumps({"version":"1",...}))

klpx avatar May 27 '25 11:05 klpx

Простите, а где вы версию 5.245 смотрите? На https://dev.vk.com/ru/reference/versions пока еще 199-я.

justdmitry avatar Aug 01 '25 07:08 justdmitry

Простите, а где вы версию 5.245 смотрите? На https://dev.vk.com/ru/reference/versions пока еще 199-я.

в девтулз

Image

ivanmem avatar Aug 01 '25 08:08 ivanmem