added reply message function.

This commit is contained in:
5elenay 2021-08-24 10:53:24 +03:00
parent c71ed30e65
commit 202d6093a7

View File

@ -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
}