Files
tg_exporter/internal/channel_message.go
2024-09-02 16:07:14 +08:00

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
}