From 202d6093a744710ce9a9d0e06cd21be615ccfa77 Mon Sep 17 00:00:00 2001 From: 5elenay <5elenay@protonmail.com> Date: Tue, 24 Aug 2021 10:53:24 +0300 Subject: [PATCH] added reply message function. --- message.go | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) diff --git a/message.go b/message.go index 7510d8c..8b54783 100644 --- a/message.go +++ b/message.go @@ -1,6 +1,7 @@ package revoltgo import ( + "encoding/json" "time" "github.com/oklog/ulid/v2" @@ -114,3 +115,36 @@ func (m Message) Delete() error { return nil } + +// Reply to the message. +func (m Message) Reply(mention bool, sm *SendMessage) (*Message, error) { + if sm.Nonce == "" { + sm.CreateNonce() + } + + if len(sm.Content) < 1968 && mention { + sm.Content = "<@" + m.AuthorId + ">, " + sm.Content + } + + respMessage := &Message{} + respMessage.Client = m.Client + msgData, err := json.Marshal(sm) + + if err != nil { + return respMessage, err + } + + resp, err := m.Client.Request("POST", "/channels/"+m.ChannelId+"/messages", msgData) + + if err != nil { + return respMessage, err + } + + err = json.Unmarshal(resp, respMessage) + + if err != nil { + return respMessage, err + } + + return respMessage, nil +}