added dm channel support.
This commit is contained in:
parent
a2e5584d93
commit
10de8762c7
35
channel.go
35
channel.go
@ -143,12 +143,7 @@ func (c Channel) FetchMessage(id string) (*Message, error) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
err = json.Unmarshal(resp, msg)
|
err = json.Unmarshal(resp, msg)
|
||||||
|
return msg, err
|
||||||
if err != nil {
|
|
||||||
return msg, err
|
|
||||||
}
|
|
||||||
|
|
||||||
return msg, nil
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// Edit channel.
|
// Edit channel.
|
||||||
@ -160,23 +155,13 @@ func (c Channel) Edit(ec *EditChannel) error {
|
|||||||
}
|
}
|
||||||
|
|
||||||
_, err = c.Client.Request("PATCH", "/channels/"+c.Id, data)
|
_, err = c.Client.Request("PATCH", "/channels/"+c.Id, data)
|
||||||
|
return err
|
||||||
if err != nil {
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
|
|
||||||
return nil
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// Delete channel.
|
// Delete channel.
|
||||||
func (c Channel) Delete() error {
|
func (c Channel) Delete() error {
|
||||||
_, err := c.Client.Request("DELETE", "/channels/"+c.Id, []byte{})
|
_, err := c.Client.Request("DELETE", "/channels/"+c.Id, []byte{})
|
||||||
|
return err
|
||||||
if err != nil {
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
|
|
||||||
return nil
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// Create a new invite.
|
// Create a new invite.
|
||||||
@ -193,12 +178,7 @@ func (c Channel) CreateInvite() (string, error) {
|
|||||||
}{}
|
}{}
|
||||||
|
|
||||||
err = json.Unmarshal(data, dataStruct)
|
err = json.Unmarshal(data, dataStruct)
|
||||||
|
return dataStruct.InviteCode, err
|
||||||
if err != nil {
|
|
||||||
return dataStruct.InviteCode, err
|
|
||||||
}
|
|
||||||
|
|
||||||
return dataStruct.InviteCode, nil
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// Set channel permissions for a role.
|
// Set channel permissions for a role.
|
||||||
@ -209,10 +189,5 @@ func (c Channel) SetPermissions(role_id string, permissions uint) error {
|
|||||||
}
|
}
|
||||||
|
|
||||||
_, err := c.Client.Request("PUT", "/channels/"+c.Id+"/permissions/"+role_id, []byte(fmt.Sprintf("{\"permissions\":%d}", permissions)))
|
_, err := c.Client.Request("PUT", "/channels/"+c.Id+"/permissions/"+role_id, []byte(fmt.Sprintf("{\"permissions\":%d}", permissions)))
|
||||||
|
return err
|
||||||
if err != nil {
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
|
|
||||||
return nil
|
|
||||||
}
|
}
|
||||||
|
50
client.go
50
client.go
@ -125,11 +125,7 @@ func (c *Client) FetchChannel(id string) (*Channel, error) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
err = json.Unmarshal(data, channel)
|
err = json.Unmarshal(data, channel)
|
||||||
|
return channel, err
|
||||||
if err != nil {
|
|
||||||
return channel, err
|
|
||||||
}
|
|
||||||
return channel, nil
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// Fetch an user by Id.
|
// Fetch an user by Id.
|
||||||
@ -144,12 +140,7 @@ func (c *Client) FetchUser(id string) (*User, error) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
err = json.Unmarshal(data, user)
|
err = json.Unmarshal(data, user)
|
||||||
|
return user, err
|
||||||
if err != nil {
|
|
||||||
return user, err
|
|
||||||
}
|
|
||||||
|
|
||||||
return user, nil
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// Fetch a server by Id.
|
// Fetch a server by Id.
|
||||||
@ -164,12 +155,7 @@ func (c *Client) FetchServer(id string) (*Server, error) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
err = json.Unmarshal(data, server)
|
err = json.Unmarshal(data, server)
|
||||||
|
return server, err
|
||||||
if err != nil {
|
|
||||||
return server, err
|
|
||||||
}
|
|
||||||
|
|
||||||
return server, nil
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// Create a server.
|
// Create a server.
|
||||||
@ -184,12 +170,7 @@ func (c *Client) CreateServer(name, description string) (*Server, error) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
err = json.Unmarshal(data, server)
|
err = json.Unmarshal(data, server)
|
||||||
|
return server, err
|
||||||
if err != nil {
|
|
||||||
return server, err
|
|
||||||
}
|
|
||||||
|
|
||||||
return server, nil
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// Auth client user.
|
// Auth client user.
|
||||||
@ -205,12 +186,31 @@ func (c *Client) Auth() error {
|
|||||||
}
|
}
|
||||||
|
|
||||||
err = json.Unmarshal(resp, c.SelfBot)
|
err = json.Unmarshal(resp, c.SelfBot)
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
|
// Fetch all of the DMs.
|
||||||
|
func (c *Client) FetchDirectMessages() ([]*Channel, error) {
|
||||||
|
var dmChannels []*Channel
|
||||||
|
|
||||||
|
resp, err := c.Request("GET", "/users/dms", []byte{})
|
||||||
|
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return dmChannels, err
|
||||||
}
|
}
|
||||||
|
|
||||||
return nil
|
err = json.Unmarshal(resp, &dmChannels)
|
||||||
|
|
||||||
|
if err != nil {
|
||||||
|
return dmChannels, err
|
||||||
|
}
|
||||||
|
|
||||||
|
// Prepare channels.
|
||||||
|
for _, i := range dmChannels {
|
||||||
|
i.Client = c
|
||||||
|
}
|
||||||
|
|
||||||
|
return dmChannels, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
// Get a channel from cache by Id.
|
// Get a channel from cache by Id.
|
||||||
|
@ -108,12 +108,7 @@ func (m *Message) Edit(content string) error {
|
|||||||
// Delete the message.
|
// Delete the message.
|
||||||
func (m Message) Delete() error {
|
func (m Message) Delete() error {
|
||||||
_, err := m.Client.Request("DELETE", "/channels/"+m.ChannelId+"/messages/"+m.Id, []byte{})
|
_, err := m.Client.Request("DELETE", "/channels/"+m.ChannelId+"/messages/"+m.Id, []byte{})
|
||||||
|
return err
|
||||||
if err != nil {
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
|
|
||||||
return nil
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// Reply to the message.
|
// Reply to the message.
|
||||||
|
16
user.go
16
user.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"
|
||||||
@ -56,3 +57,18 @@ func (u *User) CalculateCreationDate() error {
|
|||||||
func (u User) FormatMention() string {
|
func (u User) FormatMention() string {
|
||||||
return "<@" + u.Id + ">"
|
return "<@" + u.Id + ">"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Create a DM with the user.
|
||||||
|
func (u User) CreateDirectMessage() (*Channel, error) {
|
||||||
|
dmChannel := &Channel{}
|
||||||
|
dmChannel.Client = u.Client
|
||||||
|
|
||||||
|
resp, err := u.Client.Request("GET", "/users/"+u.Id+"/dm", []byte{})
|
||||||
|
|
||||||
|
if err != nil {
|
||||||
|
return dmChannel, err
|
||||||
|
}
|
||||||
|
|
||||||
|
err = json.Unmarshal(resp, dmChannel)
|
||||||
|
return dmChannel, err
|
||||||
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user