VK API помечает параметр reply_to у метода messages.send устаревшим, начиная с версии 5.221 (что странно, ведь текущая версия по документации - 5.199). Клиент ВК использует новейшую версию и параметр forward для создания ответов:
POST /method/messages.send?v=5.280&client_id=XXXXXXX
Content-Type: application/x-www-form-urlencoded
Host: api.vk.com
Content-Length: X
peer_id=2000000001&random_id=-0&message=111&forward=%7B%22peer_id%22%3A2000000001%2C%22conversation_message_ids%22%3A%5B1%5D%2C%22is_reply%22%3Atrue%7D&entrypoint=list_all&group_id=0&from=reforged&access_token=vk1.a.TOKEN
forward, собственно говоря, является JSON'ом после urlencode:
{
"peer_id": 2000000001,
"conversation_message_ids": [
1
],
"is_reply": true
}
Нужно отредактировать эти строки и заменить их на forward:
|
if sendParams.Reply && msg != nil { |
|
b.ReplyTo(msg.ID) |
|
} |
(к примеру как ниже)
b := params.NewMessagesSendBuilder().
RandomID(0).
PeerID(ctx.Message.PeerID).
Message(finalText)
if sendParams.Reply && msg != nil {
fwdStr, err := json.Marshal(api.Params{
"peer_id": ctx.Message.PeerID,
"conversation_message_ids": []int{ctx.Message.ConversationMessageID},
"is_reply": true,
})
if err != nil {
return err
}
b = b.Forward(string(fwdStr))
}
if _, err := vk.MessagesSend(b.Params); err != nil {
return fmt.Errorf("send error: %v", err)
}
VK API помечает параметр
reply_toу методаmessages.sendустаревшим, начиная с версии 5.221 (что странно, ведь текущая версия по документации - 5.199). Клиент ВК использует новейшую версию и параметрforwardдля создания ответов:forward, собственно говоря, является JSON'ом после urlencode:{ "peer_id": 2000000001, "conversation_message_ids": [ 1 ], "is_reply": true }Нужно отредактировать эти строки и заменить их на
forward:vkc/command_context.go
Lines 53 to 55 in 36df822
(к примеру как ниже)