|
@@ -129,7 +129,7 @@ func (s *State) MemberRemove(member *Member) error {
|
|
|
}
|
|
|
|
|
|
// Member gets a member by ID from a guild.
|
|
|
-func (s *State) Member(guildID string, userID string) (*Member, error) {
|
|
|
+func (s *State) Member(guildID, userID string) (*Member, error) {
|
|
|
if s == nil {
|
|
|
return nil, nilError
|
|
|
}
|
|
@@ -216,7 +216,7 @@ func (s *State) ChannelRemove(channel *Channel) error {
|
|
|
}
|
|
|
|
|
|
// GuildChannel gets a channel by ID from a guild.
|
|
|
-func (s *State) GuildChannel(guildID string, channelID string) (*Channel, error) {
|
|
|
+func (s *State) GuildChannel(guildID, channelID string) (*Channel, error) {
|
|
|
if s == nil {
|
|
|
return nil, nilError
|
|
|
}
|
|
@@ -270,3 +270,55 @@ func (s *State) Channel(channelID string) (*Channel, error) {
|
|
|
|
|
|
return nil, errors.New("Channel not found.")
|
|
|
}
|
|
|
+
|
|
|
+// Emoji returns an emoji for a guild and emoji id.
|
|
|
+func (s *State) Emoji(guildID, emojiID string) (*Emoji, error) {
|
|
|
+ if s == nil {
|
|
|
+ return nil, nilError
|
|
|
+ }
|
|
|
+
|
|
|
+ guild, err := s.Guild(guildID)
|
|
|
+ if err != nil {
|
|
|
+ return nil, err
|
|
|
+ }
|
|
|
+
|
|
|
+ for _, e := range guild.Emojis {
|
|
|
+ if e.ID == emojiID {
|
|
|
+ return &e, nil
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ return nil, errors.New("Emoji not found.")
|
|
|
+}
|
|
|
+
|
|
|
+// EmojiAdd adds an emoji to the current world state.
|
|
|
+func (s *State) EmojiAdd(guildID string, emoji *Emoji) error {
|
|
|
+ if s == nil {
|
|
|
+ return nilError
|
|
|
+ }
|
|
|
+
|
|
|
+ guild, err := s.Guild(guildID)
|
|
|
+ if err != nil {
|
|
|
+ return err
|
|
|
+ }
|
|
|
+
|
|
|
+ for i, e := range guild.Emojis {
|
|
|
+ if e.ID == emoji.ID {
|
|
|
+ guild.Emojis[i] = *emoji
|
|
|
+ return nil
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ guild.Emojis = append(guild.Emojis, *emoji)
|
|
|
+ return nil
|
|
|
+}
|
|
|
+
|
|
|
+// EmojisAdd adds multiple emojis to the world state.
|
|
|
+func (s *State) EmojisAdd(guildID string, emojis []Emoji) error {
|
|
|
+ for _, e := range emojis {
|
|
|
+ if err := s.EmojiAdd(guildID, &e); err != nil {
|
|
|
+ return err
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return nil
|
|
|
+}
|