Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update SendMessageData.Embed to .Embeds #248

Merged
merged 2 commits into from Aug 2, 2021
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
10 changes: 5 additions & 5 deletions api/message.go
Expand Up @@ -230,7 +230,7 @@ func (c *Client) SendEmbed(
channelID discord.ChannelID, e discord.Embed) (*discord.Message, error) {

return c.SendMessageComplex(channelID, SendMessageData{
Embed: &e,
Embeds: []discord.Embed{e},
})
}

Expand All @@ -246,7 +246,7 @@ func (c *Client) SendEmbedReply(
referenceID discord.MessageID) (*discord.Message, error) {

return c.SendMessageComplex(channelID, SendMessageData{
Embed: &e,
Embeds: []discord.Embed{e},
Reference: &discord.MessageReference{MessageID: referenceID},
})
}
Expand All @@ -262,7 +262,7 @@ func (c *Client) SendMessage(

return c.SendMessageComplex(channelID, SendMessageData{
Content: content,
Embed: embed,
Embeds: []discord.Embed{*embed},
})
}

Expand All @@ -275,12 +275,12 @@ func (c *Client) SendMessage(
func (c *Client) SendMessageReply(
channelID discord.ChannelID,
content string,
embed *discord.Embed,
embed discord.Embed,
referenceID discord.MessageID) (*discord.Message, error) {

return c.SendMessageComplex(channelID, SendMessageData{
Content: content,
Embed: embed,
Embeds: []discord.Embed{embed},
Reference: &discord.MessageReference{MessageID: referenceID},
})
}
Expand Down
12 changes: 7 additions & 5 deletions api/send.go
Expand Up @@ -100,7 +100,7 @@ type SendMessageData struct {
// TTS is true if this is a TTS message.
TTS bool `json:"tts,omitempty"`
// Embed is embedded rich content.
Embed *discord.Embed `json:"embed,omitempty"`
Embeds []discord.Embed `json:"embeds,omitempty"`

// Files is the list of file attachments to be uploaded. To reference a file
// in an embed, use (sendpart.File).AttachmentURI().
Expand Down Expand Up @@ -148,7 +148,7 @@ func (data SendMessageData) WriteMultipart(body *multipart.Writer) error {
func (c *Client) SendMessageComplex(
channelID discord.ChannelID, data SendMessageData) (*discord.Message, error) {

if data.Content == "" && data.Embed == nil && len(data.Files) == 0 {
if data.Content == "" && len(data.Embeds) == 0 && len(data.Files) == 0 {
return nil, ErrEmptyMessage
}

Expand All @@ -158,9 +158,11 @@ func (c *Client) SendMessageComplex(
}
}

if data.Embed != nil {
if err := data.Embed.Validate(); err != nil {
return nil, errors.Wrap(err, "embed error")
if len(data.Embeds) != 0 {
for _, embed := range data.Embeds {
if err := embed.Validate(); err != nil {
return nil, errors.Wrap(err, "embed error")
}
}
}

Expand Down
10 changes: 5 additions & 5 deletions api/send_test.go
Expand Up @@ -103,7 +103,6 @@ func TestSendMessage(t *testing.T) {
t.Run("empty", func(t *testing.T) {
var empty = SendMessageData{
Content: "",
Embed: nil,
}

if err := send(empty); err != ErrEmptyMessage {
Expand Down Expand Up @@ -135,11 +134,12 @@ func TestSendMessage(t *testing.T) {
})

t.Run("invalid embed", func(t *testing.T) {
embed := discord.Embed{
// max 256
Title: spaces(257),
}
var data = SendMessageData{
Embed: &discord.Embed{
// max 256
Title: spaces(257),
},
Embeds: []discord.Embed{embed},
}

err := send(data)
Expand Down
2 changes: 1 addition & 1 deletion bot/ctx_call.go
Expand Up @@ -131,7 +131,7 @@ func (ctx *Context) callMessageCreate(
case string:
data.Content = v
case *discord.Embed:
data.Embed = v
data.Embeds = []discord.Embed{*v}
case *api.SendMessageData:
data = *v
default:
Expand Down