added reply message function.
This commit is contained in:
parent
c71ed30e65
commit
202d6093a7
34
message.go
34
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
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user