added send message function.
This commit is contained in:
61
channel.go
61
channel.go
@@ -1,21 +1,54 @@
|
||||
package revoltgo
|
||||
|
||||
import (
|
||||
"encoding/json"
|
||||
)
|
||||
|
||||
// Channel struct.
|
||||
type Channel struct {
|
||||
Client *Client
|
||||
|
||||
Id string `json:"_id"`
|
||||
ChannelType string `json:"channel_type"`
|
||||
UserId string `json:"user"`
|
||||
Nonce string `json:"nonce"`
|
||||
Active bool `json:"active"`
|
||||
Recipients []string `json:"recipients"`
|
||||
LastMessage map[string]string `json:"last_message"`
|
||||
Name string `json:"name"`
|
||||
OwnerId string `json:"owner"`
|
||||
Description string `json:"description"`
|
||||
Icon *Attachment `json:"icon"`
|
||||
DefaultPermissions int `json:"default_permissions"`
|
||||
RolePermissions int `json:"role_permissions"`
|
||||
Permissions int `json:"permissions"`
|
||||
Id string `json:"_id"`
|
||||
ChannelType string `json:"channel_type"`
|
||||
UserId string `json:"user"`
|
||||
Nonce string `json:"nonce"`
|
||||
Active bool `json:"active"`
|
||||
Recipients []string `json:"recipients"`
|
||||
LastMessage string `json:"last_message"`
|
||||
Name string `json:"name"`
|
||||
OwnerId string `json:"owner"`
|
||||
Description string `json:"description"`
|
||||
Icon *Attachment `json:"icon"`
|
||||
DefaultPermissions int `json:"default_permissions"`
|
||||
RolePermissions int `json:"role_permissions"`
|
||||
Permissions int `json:"permissions"`
|
||||
}
|
||||
|
||||
// Send a message to the channel.
|
||||
func (c Channel) SendMessage(message *Message) (*Message, error) {
|
||||
if message.Nonce == "" {
|
||||
message.Nonce = genULID()
|
||||
}
|
||||
|
||||
respMessage := &Message{}
|
||||
msgData, err := json.Marshal(message)
|
||||
|
||||
if err != nil {
|
||||
return respMessage, err
|
||||
}
|
||||
|
||||
resp, err := c.Client.Request("POST", "/channels/"+c.Id+"/messages", msgData)
|
||||
|
||||
if err != nil {
|
||||
return respMessage, err
|
||||
}
|
||||
|
||||
err = json.Unmarshal(resp, respMessage)
|
||||
|
||||
if err != nil {
|
||||
return respMessage, err
|
||||
}
|
||||
|
||||
message.Client = c.Client
|
||||
return message, nil
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user