fix group msg
This commit is contained in:
@@ -13,15 +13,18 @@ type ChannelMessage struct {
|
||||
ID int
|
||||
GroupID int64
|
||||
Message string
|
||||
Medias []ChannelMessageMedia
|
||||
Medias ChannelMessageMedia
|
||||
PublishAt time.Time
|
||||
}
|
||||
|
||||
type ChannelMessageMedia struct {
|
||||
Photo *string
|
||||
Video *string
|
||||
Document *ChannelMessageDocument
|
||||
WebPage *ChannelMessageMediaWebPage
|
||||
MsgID int `json:"msg_id,omitempty"`
|
||||
AssetID int64 `json:"asset_id,omitempty"`
|
||||
|
||||
Photo *string `json:"photo,omitempty"`
|
||||
Video *string `json:"video,omitempty"`
|
||||
Document *ChannelMessageDocument `json:"document,omitempty"`
|
||||
WebPage *ChannelMessageMediaWebPage `json:"web_page,omitempty"`
|
||||
}
|
||||
|
||||
type ChannelMessageDocument struct {
|
||||
@@ -57,31 +60,37 @@ func (c *ChannelMessage) WithMessage(message string) *ChannelMessage {
|
||||
}
|
||||
|
||||
func (c *ChannelMessage) WithPhoto(assetID int64, ext string) *ChannelMessage {
|
||||
c.Medias = append(c.Medias, ChannelMessageMedia{
|
||||
Photo: lo.ToPtr(fmt.Sprintf("%d.%s", assetID, strings.Trim(ext, "."))),
|
||||
})
|
||||
c.Medias = ChannelMessageMedia{
|
||||
MsgID: c.ID,
|
||||
AssetID: assetID,
|
||||
Photo: lo.ToPtr(fmt.Sprintf("%d.%s", assetID, strings.Trim(ext, "."))),
|
||||
}
|
||||
return c
|
||||
}
|
||||
|
||||
func (c *ChannelMessage) WithVideo(video string) *ChannelMessage {
|
||||
c.Medias = append(c.Medias, ChannelMessageMedia{Video: lo.ToPtr(video)})
|
||||
return c
|
||||
}
|
||||
|
||||
func (c *ChannelMessage) WithDocument(d ChannelMessageDocument) *ChannelMessage {
|
||||
c.Medias = append(c.Medias, ChannelMessageMedia{
|
||||
func (c *ChannelMessage) WithDocument(assetID int64, d ChannelMessageDocument) *ChannelMessage {
|
||||
c.Medias = ChannelMessageMedia{
|
||||
MsgID: c.ID,
|
||||
AssetID: assetID,
|
||||
Document: lo.ToPtr(d),
|
||||
})
|
||||
}
|
||||
return c
|
||||
}
|
||||
|
||||
func (c *ChannelMessage) WithWebPage(title, url string) *ChannelMessage {
|
||||
c.Medias = append(c.Medias, ChannelMessageMedia{
|
||||
func (c *ChannelMessage) WithWebPage(assetID int64, title, url string) *ChannelMessage {
|
||||
c.Medias = ChannelMessageMedia{
|
||||
MsgID: c.ID,
|
||||
AssetID: assetID,
|
||||
WebPage: lo.ToPtr(ChannelMessageMediaWebPage{Title: title, URL: url}),
|
||||
})
|
||||
}
|
||||
return c
|
||||
}
|
||||
|
||||
func (c *ChannelMessage) GetMedias() string {
|
||||
b, _ := json.Marshal([]ChannelMessageMedia{c.Medias})
|
||||
return string(b)
|
||||
}
|
||||
|
||||
func (c *ChannelMessage) GetMedia() string {
|
||||
b, _ := json.Marshal(c.Medias)
|
||||
return string(b)
|
||||
|
||||
Reference in New Issue
Block a user