From 2967e7e9c5b068282d89702db8c4a767d69a2e61 Mon Sep 17 00:00:00 2001 From: ivanik Date: Sun, 24 Jan 2021 20:53:36 +0500 Subject: [PATCH] Vk bridge message edit --- bridge/vk/vk.go | 29 +++++++++++++++++++++-------- 1 file changed, 21 insertions(+), 8 deletions(-) diff --git a/bridge/vk/vk.go b/bridge/vk/vk.go index d624e21e..9f7b2874 100644 --- a/bridge/vk/vk.go +++ b/bridge/vk/vk.go @@ -75,9 +75,7 @@ func (b *Bvk) Send(msg config.Message) (string, error) { } params := api.Params{ - "peer_id": peerID, - "message": text, - "random_id": time.Now().Unix(), + "message": text, } if msg.Extra != nil { @@ -127,13 +125,28 @@ func (b *Bvk) Send(msg config.Message) (string, error) { } } - res, err := b.c.MessagesSend(params) + if msg.ID == "" { + params["random_id"] = time.Now().Unix() + params["peer_ids"] = msg.Channel - if err != nil { - return "", err + res, err := b.c.MessagesSendPeerIDs(params) + if err != nil { + return "", err + } + + return strconv.Itoa(res[0].ConversationMessageID), nil + } else { + messageID, err := strconv.ParseInt(msg.ID, 10, 64) + params["peer_id"] = peerID + params["conversation_message_id"] = messageID + + _, err = b.c.MessagesEdit(params) + if err != nil { + return "", err + } + + return msg.ID, nil } - - return string(res), nil } func (b *Bvk) getUser(id int) user {