package telegram import ( "context" "fmt" "github.com/TelegramExchange/tgex-backend/tg_parser/internal/domain" "github.com/gotd/td/tg" ) func (t *Telegram) UpdatePostsViews(ctx context.Context, channel domain.Channel, posts []domain.Post) error { ids := make([]int, len(posts)) for i, p := range posts { ids[i] = p.MessageID } req := &tg.MessagesGetMessagesViewsRequest{ Peer: &tg.InputPeerChannel{ ChannelID: channel.ChannelID(), AccessHash: channel.AccessHash, }, ID: ids, Increment: false, } resp, err := t.API().MessagesGetMessagesViews(ctx, req) if err != nil { return fmt.Errorf("get messages views: %w", err) } // Telegram гарантирует, что resp.Views соответствует порядку ids for i, v := range resp.Views { posts[i].Views = v.Views } return nil }