34 lines
707 B
Go
34 lines
707 B
Go
package internal
|
|
|
|
import "fmt"
|
|
|
|
type ChannelMessage struct {
|
|
ID int
|
|
Message string
|
|
Medias []ChannelMessageMedia
|
|
}
|
|
|
|
type ChannelMessageMedia struct {
|
|
Photo string
|
|
Video string
|
|
}
|
|
|
|
func NewChannelMessage(id int) *ChannelMessage {
|
|
return &ChannelMessage{ID: id}
|
|
}
|
|
|
|
func (c *ChannelMessage) WithMessage(message string) *ChannelMessage {
|
|
c.Message = message
|
|
return c
|
|
}
|
|
|
|
func (c *ChannelMessage) WithPhoto(assetID int64, ext string) *ChannelMessage {
|
|
c.Medias = append(c.Medias, ChannelMessageMedia{Photo: fmt.Sprintf("%d.%s", assetID, ext)})
|
|
return c
|
|
}
|
|
|
|
func (c *ChannelMessage) WithVideo(video string) *ChannelMessage {
|
|
c.Medias = append(c.Medias, ChannelMessageMedia{Video: video})
|
|
return c
|
|
}
|