MCPcopy
hub / github.com/EverythingSuckz/TG-FileStreamBot / GetTGMessage

Function GetTGMessage

internal/utils/helpers.go:46–64  ·  view source on GitHub ↗

telegram helper functions TODO: move these to a separate package if they grow too large

(ctx context.Context, client *gotgproto.Client, messageID int)

Source from the content-addressed store, hash-verified

44// TODO: move these to a separate package if they grow too large
45
46func GetTGMessage(ctx context.Context, client *gotgproto.Client, messageID int) (*tg.Message, error) {
47 inputMessageID := tg.InputMessageClass(&tg.InputMessageID{ID: messageID})
48 channel, err := GetLogChannelPeer(ctx, client.API(), client.PeerStorage)
49 if err != nil {
50 return nil, err
51 }
52 messageRequest := tg.ChannelsGetMessagesRequest{Channel: channel, ID: []tg.InputMessageClass{inputMessageID}}
53 res, err := client.API().ChannelsGetMessages(ctx, &messageRequest)
54 if err != nil {
55 return nil, err
56 }
57 messages := res.(*tg.MessagesChannelMessages)
58 message := messages.Messages[0]
59 if _, ok := message.(*tg.Message); ok {
60 return message.(*tg.Message), nil
61 } else {
62 return nil, fmt.Errorf("this file was deleted")
63 }
64}
65
66func FileFromMedia(media tg.MessageMediaClass) (*types.File, error) {
67 switch media := media.(type) {

Callers 1

FileFromMessageFunction · 0.85

Calls 1

GetLogChannelPeerFunction · 0.85

Tested by

no test coverage detected