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
|
package revoltgo
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"encoding/json"
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
"github.com/oklog/ulid/v2"
|
"github.com/oklog/ulid/v2"
|
||||||
@ -114,3 +115,36 @@ func (m Message) Delete() error {
|
|||||||
|
|
||||||
return nil
|
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