This commit is contained in:
Rogee
2024-09-02 19:45:16 +08:00
parent 548b9109eb
commit 399dbe4264
6 changed files with 23 additions and 3 deletions

8
.vscode/launch.json vendored
View File

@@ -17,7 +17,13 @@
// https://t.me/Aliyun_4K_Movies/26640
// "--alias", "Aliyun_4K_Movies",
// https://t.me/abskoop/8501
"--alias", "abskoop",
// "--alias", "abskoop",
// https://t.me/shareAliyun/65443
// "--alias", "shareAliyun",
// https://t.me/meizitu3/6879
// "--alias", "meizitu3",
// https://t.me/DNSPODT/5156
"--alias", "DNSPODT",
"--history",
]
}

View File

@@ -19,4 +19,5 @@ type ChannelMessages struct {
Media string
PublishedAt time.Time
CreatedAt time.Time
GroupID int64
}

View File

@@ -24,6 +24,7 @@ type channelMessagesTable struct {
Media postgres.ColumnString
PublishedAt postgres.ColumnTimestampz
CreatedAt postgres.ColumnTimestampz
GroupID postgres.ColumnInteger
AllColumns postgres.ColumnList
MutableColumns postgres.ColumnList
@@ -71,8 +72,9 @@ func newChannelMessagesTableImpl(schemaName, tableName, alias string) channelMes
MediaColumn = postgres.StringColumn("media")
PublishedAtColumn = postgres.TimestampzColumn("published_at")
CreatedAtColumn = postgres.TimestampzColumn("created_at")
allColumns = postgres.ColumnList{IDColumn, ChannelIDColumn, UUIDColumn, ContentColumn, MediaColumn, PublishedAtColumn, CreatedAtColumn}
mutableColumns = postgres.ColumnList{ChannelIDColumn, UUIDColumn, ContentColumn, MediaColumn, PublishedAtColumn, CreatedAtColumn}
GroupIDColumn = postgres.IntegerColumn("group_id")
allColumns = postgres.ColumnList{IDColumn, ChannelIDColumn, UUIDColumn, ContentColumn, MediaColumn, PublishedAtColumn, CreatedAtColumn, GroupIDColumn}
mutableColumns = postgres.ColumnList{ChannelIDColumn, UUIDColumn, ContentColumn, MediaColumn, PublishedAtColumn, CreatedAtColumn, GroupIDColumn}
)
return channelMessagesTable{
@@ -86,6 +88,7 @@ func newChannelMessagesTableImpl(schemaName, tableName, alias string) channelMes
Media: MediaColumn,
PublishedAt: PublishedAtColumn,
CreatedAt: CreatedAtColumn,
GroupID: GroupIDColumn,
AllColumns: allColumns,
MutableColumns: mutableColumns,

View File

@@ -8,6 +8,7 @@ import (
type ChannelMessage struct {
ID int
GroupID int64
Message string
Medias []ChannelMessageMedia
PublishAt time.Time
@@ -22,6 +23,11 @@ func NewChannelMessage(id, ts int) *ChannelMessage {
return &ChannelMessage{ID: id, PublishAt: time.Unix(int64(ts), 0)}
}
func (c *ChannelMessage) WithGroupID(groupID int64) *ChannelMessage {
c.GroupID = groupID
return c
}
func (c *ChannelMessage) WithMessage(message string) *ChannelMessage {
c.Message = message
return c

View File

@@ -59,6 +59,9 @@ func (t *TClient) Channel(ctx context.Context, channel *tg.Channel, cfg *DBChann
defer cfg.SaveMessage(ctx, channelMessage)
channelMessage.WithMessage(msg.GetMessage())
if grpID, ok := msg.GetGroupedID(); ok {
channelMessage.WithGroupID(grpID)
}
if mediaClass, ok := msg.GetMedia(); ok {
switch mediaClass.(type) {

View File

@@ -113,6 +113,7 @@ func (c *DBChannel) Update(ctx context.Context, offsetID int) error {
func (c *DBChannel) SaveMessage(ctx context.Context, msg *ChannelMessage) error {
message := &model.ChannelMessages{
ChannelID: c.UUID,
GroupID: msg.GroupID,
UUID: int64(msg.ID),
Content: lo.ToPtr(msg.Message),
Media: msg.GetMedia(),