discordmuffin/builder.go
Siwoo Jeon 88a40c83dc
Some checks failed
CI / lint (pull_request) Has been cancelled
CI / format (pull_request) Has been cancelled
CI / test (1.13) (pull_request) Has been cancelled
CI / test (1.14) (pull_request) Has been cancelled
CI / test (1.15) (pull_request) Has been cancelled
CI / test (1.16) (pull_request) Has been cancelled
CI / test (1.17) (pull_request) Has been cancelled
CI / test (1.18) (pull_request) Has been cancelled
chore: move MessageEmbedBuilder
2025-05-17 22:10:00 +09:00

78 lines
2.1 KiB
Go

package discordgo
import "time"
// MessageEmbedBuilder for make MessageEmbed struct.
type MessageEmbedBuilder struct {
*MessageEmbed
}
// NewMessageEmbedBuilder creates a new MessageEmbedBuilder struct.
func NewMessageEmbedBuilder() *MessageEmbedBuilder {
return &MessageEmbedBuilder{}
}
// SetTitle sets title for MessageEmbed.
func (b *MessageEmbedBuilder) SetTitle(title string) *MessageEmbedBuilder {
b.MessageEmbed.Title = title
return b
}
// SetDescription sets description for MessageEmbed.
func (b *MessageEmbedBuilder) SetDescription(desc string) *MessageEmbedBuilder {
b.MessageEmbed.Description = desc
return b
}
// SetColor sets color for MessageEmbed.
func (b *MessageEmbedBuilder) SetColor(color int) *MessageEmbedBuilder {
b.MessageEmbed.Color = color
return b
}
// SetThumbnail sets thumbnail for MessageEmbed.
func (b *MessageEmbedBuilder) SetThumbnail(url string) *MessageEmbedBuilder {
b.MessageEmbed.Thumbnail = &MessageEmbedThumbnail{URL: url}
return b
}
// SetImage sets image for MessageEmbed.
func (b *MessageEmbedBuilder) SetImage(url string) *MessageEmbedBuilder {
b.MessageEmbed.Image = &MessageEmbedImage{URL: url}
return b
}
// SetTimestamp sets timestamp for MessageEmbed.
func (b *MessageEmbedBuilder) SetTimestamp(times time.Time) *MessageEmbedBuilder {
b.MessageEmbed.Timestamp = times.Format(time.RFC3339)
return b
}
// SetFooter sets footer for MessageEmbed.
func (b *MessageEmbedBuilder) SetFooter(footer MessageEmbedFooter) *MessageEmbedBuilder {
b.MessageEmbed.Footer = &footer
return b
}
// AddFields adds fields for MessageEmbed.
func (b *MessageEmbedBuilder) AddFields(fields ...*MessageEmbedField) *MessageEmbedBuilder {
b.MessageEmbed.Fields = fields
return b
}
// SetAuthor sets author for MessageEmbed.
func (b *MessageEmbedBuilder) SetAuthor(author MessageEmbedAuthor) *MessageEmbedBuilder {
b.MessageEmbed.Author = &author
return b
}
// SetURL sets url for MessageEmbed.
func (b *MessageEmbedBuilder) SetURL(url string) *MessageEmbedBuilder {
b.MessageEmbed.URL = url
return b
}
// Build to MessageEmbed.
func (b *MessageEmbedBuilder) Build() *MessageEmbed {
return b.MessageEmbed
}