adds GuildEmojiCreate, GuildEmojiEdit, and GuildEmojiDelete

This commit is contained in:
Sebastian Winkler 2018-05-20 14:37:02 +02:00
parent 82c8cf21b2
commit 8f686efd24
No known key found for this signature in database
GPG key ID: 6E5F12DD21107C1D
2 changed files with 52 additions and 0 deletions

View file

@ -95,6 +95,8 @@ var (
EndpointGuildSplash = func(gID, hash string) string { return EndpointCDNSplashes + gID + "/" + hash + ".png" }
EndpointGuildWebhooks = func(gID string) string { return EndpointGuilds + gID + "/webhooks" }
EndpointGuildAuditLogs = func(gID string) string { return EndpointGuilds + gID + "/audit-logs" }
EndpointGuildEmojis = func(gID string) string { return EndpointGuilds + gID + "/emojis" }
EndpointGuildEmoji = func(gID, eID string) string { return EndpointGuilds + gID + "/emojis/" + eID }
EndpointChannel = func(cID string) string { return EndpointChannels + cID }
EndpointChannelPermissions = func(cID string) string { return EndpointChannels + cID + "/permissions" }

View file

@ -1285,6 +1285,56 @@ func (s *Session) GuildAuditLog(guildID, userID, beforeID string, actionType, li
return
}
// GuildEmojiCreate creates a new emoji
// guildID : The ID of a Guild.
// image : the base64 encoded emoji image, has to be smaller than 256KB
// roles : roles for which this emoji will be whitelisted, can be nil
func (s *Session) GuildEmojiCreate(guildID, name, image string, roles []string) (emoji *Emoji, err error) {
data := struct {
Name string `json:"name"`
Image string `json:"image"`
Roles []string `json:"roles,omitempty"`
}{name, image, roles}
body, err := s.RequestWithBucketID("POST", EndpointGuildEmojis(guildID), data, EndpointGuildEmojis(guildID))
if err != nil {
return
}
err = unmarshal(body, &emoji)
return
}
// GuildEmojiEdit modifies an emoji
// guildID : The ID of a Guild.
// image : the base64 encoded emoji image, has to be smaller than 256KB
// roles : roles for which this emoji will be whitelisted, can be nil
func (s *Session) GuildEmojiEdit(guildID, emojiID, name string, roles []string) (emoji *Emoji, err error) {
data := struct {
Name string `json:"name"`
Roles []string `json:"roles,omitempty"`
}{name, roles}
body, err := s.RequestWithBucketID("PATCH", EndpointGuildEmoji(guildID, emojiID), data, EndpointGuildEmojis(guildID))
if err != nil {
return
}
err = unmarshal(body, &emoji)
return
}
// GuildEmojiDelete deletes an Emoji.
// guildID : The ID of a Guild.
// emojiID : The ID of the Emoji.
func (s *Session) GuildEmojiDelete(guildID, emojiID string) (err error) {
_, err = s.RequestWithBucketID("DELETE", EndpointGuildEmoji(guildID, emojiID), nil, EndpointGuildEmojis(guildID))
return
}
// ------------------------------------------------------------------------------------------------
// Functions specific to Discord Channels
// ------------------------------------------------------------------------------------------------