mirror of
https://github.com/diamondburned/arikawa.git
synced 2024-11-30 10:43:30 +00:00
api: More multiple embed support for send functions (#266)
* api: Adapt Client.EditMessage, SendEmbedReply, and SendMessageReply to take in multiple embeds * api: Fix incorrect use of Client.EditMessage * api: Make EditMessage omit empty content or embeds from payload
This commit is contained in:
parent
19335e5050
commit
525e8d527b
|
@ -98,7 +98,7 @@ func TestReactions(t *testing.T) {
|
||||||
|
|
||||||
msg += fmt.Sprintf(" Total time taken to send all reactions: %v.", time.Now().Sub(now))
|
msg += fmt.Sprintf(" Total time taken to send all reactions: %v.", time.Now().Sub(now))
|
||||||
|
|
||||||
m, err = client.EditMessage(cfg.ChannelID, m.ID, msg, nil, false)
|
m, err = client.EditMessage(cfg.ChannelID, m.ID, msg)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatal("Failed to edit message:", err)
|
t.Fatal("Failed to edit message:", err)
|
||||||
}
|
}
|
||||||
|
|
|
@ -236,10 +236,10 @@ func (c *Client) SendEmbeds(
|
||||||
// Fires a Message Create Gateway event.
|
// Fires a Message Create Gateway event.
|
||||||
func (c *Client) SendEmbedReply(
|
func (c *Client) SendEmbedReply(
|
||||||
channelID discord.ChannelID,
|
channelID discord.ChannelID,
|
||||||
e discord.Embed, referenceID discord.MessageID) (*discord.Message, error) {
|
referenceID discord.MessageID, embeds ...discord.Embed) (*discord.Message, error) {
|
||||||
|
|
||||||
return c.SendMessageComplex(channelID, SendMessageData{
|
return c.SendMessageComplex(channelID, SendMessageData{
|
||||||
Embeds: []discord.Embed{e},
|
Embeds: embeds,
|
||||||
Reference: &discord.MessageReference{MessageID: referenceID},
|
Reference: &discord.MessageReference{MessageID: referenceID},
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
@ -269,15 +269,14 @@ func (c *Client) SendMessage(
|
||||||
// Fires a Message Create Gateway event.
|
// Fires a Message Create Gateway event.
|
||||||
func (c *Client) SendMessageReply(
|
func (c *Client) SendMessageReply(
|
||||||
channelID discord.ChannelID, content string,
|
channelID discord.ChannelID, content string,
|
||||||
embed *discord.Embed, referenceID discord.MessageID) (*discord.Message, error) {
|
referenceID discord.MessageID, embeds ...discord.Embed) (*discord.Message, error) {
|
||||||
|
|
||||||
data := SendMessageData{
|
data := SendMessageData{
|
||||||
Content: content,
|
Content: content,
|
||||||
Reference: &discord.MessageReference{MessageID: referenceID},
|
Reference: &discord.MessageReference{MessageID: referenceID},
|
||||||
|
Embeds: embeds,
|
||||||
}
|
}
|
||||||
if embed != nil {
|
|
||||||
data.Embeds = []discord.Embed{*embed}
|
|
||||||
}
|
|
||||||
return c.SendMessageComplex(channelID, data)
|
return c.SendMessageComplex(channelID, data)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -333,21 +332,23 @@ func (c *Client) EditEmbeds(
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
// EditMessage edits a previously sent message. For more documentation, refer to
|
// EditMessage edits a previously sent message. If content or embeds are empty
|
||||||
// EditMessageComplex.
|
// the original content or embed will remain untouched. This means EditMessage
|
||||||
|
// will only update, but not remove parts of the message.
|
||||||
|
//
|
||||||
|
// For more documentation, refer to EditMessageComplex.
|
||||||
func (c *Client) EditMessage(
|
func (c *Client) EditMessage(
|
||||||
channelID discord.ChannelID, messageID discord.MessageID, content string,
|
channelID discord.ChannelID, messageID discord.MessageID,
|
||||||
embed *discord.Embed, suppressEmbeds bool) (*discord.Message, error) {
|
content string, embeds ...discord.Embed) (*discord.Message, error) {
|
||||||
|
|
||||||
var data = EditMessageData{
|
var data EditMessageData
|
||||||
Content: option.NewNullableString(content),
|
|
||||||
|
if len(content) > 0 {
|
||||||
|
data.Content = option.NewNullableString(content)
|
||||||
}
|
}
|
||||||
if embed != nil {
|
|
||||||
data.Embeds = &[]discord.Embed{*embed}
|
if len(embeds) > 0 {
|
||||||
}
|
data.Embeds = &embeds
|
||||||
if suppressEmbeds {
|
|
||||||
v := discord.SuppressEmbeds
|
|
||||||
data.Flags = &v
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return c.EditMessageComplex(channelID, messageID, data)
|
return c.EditMessageComplex(channelID, messageID, data)
|
||||||
|
|
Loading…
Reference in a new issue