From 392e09bc20f3cff2d1abad1d652936eaf83df97c Mon Sep 17 00:00:00 2001 From: Nonoo Date: Mon, 14 Aug 2023 14:56:49 +0200 Subject: [PATCH] Init --- .gitignore | 2 + .vscode/settings.json | 3 + LICENSE | 2 +- README.md | 96 +++++++++++ cmd.go | 52 ++++++ convert.go | 246 +++++++++++++++++++++++++++ dl.go | 78 +++++++++ go.mod | 45 +++++ go.sum | 184 ++++++++++++++++++++ helper.go | 66 ++++++++ main.go | 184 ++++++++++++++++++++ params.go | 131 +++++++++++++++ queue.go | 262 +++++++++++++++++++++++++++++ rereader.go | 78 +++++++++ screenshot.png | Bin 0 -> 222449 bytes vercheck.go | 52 ++++++ yt-dlp-telegram-bot.code-workspace | 7 + 17 files changed, 1487 insertions(+), 1 deletion(-) create mode 100644 .gitignore create mode 100644 .vscode/settings.json create mode 100644 README.md create mode 100644 cmd.go create mode 100644 convert.go create mode 100644 dl.go create mode 100644 go.mod create mode 100644 go.sum create mode 100644 helper.go create mode 100644 main.go create mode 100644 params.go create mode 100644 queue.go create mode 100644 rereader.go create mode 100644 screenshot.png create mode 100644 vercheck.go create mode 100644 yt-dlp-telegram-bot.code-workspace diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..b7114a6 --- /dev/null +++ b/.gitignore @@ -0,0 +1,2 @@ +/run.sh +/yt-dlp-telegram-bot diff --git a/.vscode/settings.json b/.vscode/settings.json new file mode 100644 index 0000000..7f7cc30 --- /dev/null +++ b/.vscode/settings.json @@ -0,0 +1,3 @@ +{ + "go.lintTool": "golangci-lint" +} diff --git a/LICENSE b/LICENSE index e637109..9fbb371 100644 --- a/LICENSE +++ b/LICENSE @@ -1,6 +1,6 @@ MIT License -Copyright (c) 2023 Norbert Varga +Copyright (c) 2023 Norbert "Nonoo" Varga Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal diff --git a/README.md b/README.md new file mode 100644 index 0000000..8b6f87d --- /dev/null +++ b/README.md @@ -0,0 +1,96 @@ +# yt-dlp-telegram-bot + +This bot downloads videos from various supported sources +(see [yt-dlp](https://github.com/yt-dlp/yt-dlp) and then re-uploads them +to Telegram, so they can be viewed with Telegram's built-in video player. + +

+ +The bot displays the progress and further information during processing by +responding to the message with the URL. Requests are queued, only one gets +processed at a time. + +The bot uses the [Telegram MTProto API](https://github.com/gotd/td), which +supports larger video uploads than the default 50MB with the standard +Telegram bot API. Videos are not saved on disk, they are simultaneously +uploaded from the source to Telegram. Incompatible video and audio streams +are automatically converted to match those which are supported by Telegram's +built-in video player. + +The only dependencies are [yt-dlp](https://github.com/yt-dlp/yt-dlp) and +[ffmpeg](https://github.com/FFmpeg/FFmpeg). Tested on Linux, but should be +able to run on other operating systems. + +## Compiling + +You'll need Go installed on your computer. Install a recent package of `golang`. +Then: + +``` +go get github.com/nonoo/yt-dlp-telegram-bot +go install github.com/nonoo/yt-dlp-telegram-bot +``` + +This will typically install `yt-dlp-telegram-bot` into `$HOME/go/bin`. + +Or just enter `go build` in the cloned Git source repo directory. + +## Prerequisites + +1. Create a Telegram bot using [BotFather](https://t.me/BotFather) and get the + bot's `token`. +2. [Get your Telegram API Keys](https://my.telegram.org/apps) + (`api_id` and `api_hash`). You'll need to create an app if you haven't + created one already. Description is optional, set the category to "other". + If an error dialog pops up, then try creating the app using your phone's + browser. +3. Make sure `yt-dlp`, `ffprobe` and `ffmpeg` commands are available on your + system. + +## Running + +You can get the available command line arguments with `-h`. +Mandatory arguments are: + +- `-api-id`: set this to your Telegram app `api_id` +- `-api-hash`: set this to your Telegram app `api_hash` +- `-bot-token`: set this to your Telegram bot's `token` + +Set your Telegram user ID as an admin with the `-admin-user-ids` argument. +Admins will get a message when the bot starts and when a newer version of +`yt-dlp` is available (checked every 24 hours). + +Other user/group IDs can be set with the `-allowed-user-ids` and +`-allowed-group-ids` arguments. IDs should be separated by commas. + +You can get Telegram user IDs by writing a message to the bot and checking +the app's log, as it logs all incoming messages. + +All command line arguments can be set through OS environment variables. +Note that using a command line argument overwrites a setting by the environment +variable. Available OS environment variables are: + +- `APP_ID` +- `API_HASH` +- `BOT_TOKEN` +- `YTDLP_PATH` +- `ALLOWED_USERIDS` +- `ADMIN_USERIDS` +- `ALLOWED_GROUPIDS` + +## Supported commands + +- `/dlp` - Download +- `/dlpcancel` - Cancel ongoing download + +You don't need to enter the `/dlp` command if you send an URL to the bot using +a private chat. + +## Contributors + +- Norbert Varga [nonoo@nonoo.hu](mailto:nonoo@nonoo.hu) +- Akos Marton + +## Donations + +If you find this bot useful then [buy me a beer](https://paypal.me/ha2non). :) diff --git a/cmd.go b/cmd.go new file mode 100644 index 0000000..80d8830 --- /dev/null +++ b/cmd.go @@ -0,0 +1,52 @@ +package main + +import ( + "context" + "os/exec" + "syscall" +) + +// https://stackoverflow.com/questions/71714228/go-exec-commandcontext-is-not-being-terminated-after-context-timeout + +type Cmd struct { + ctx context.Context + *exec.Cmd +} + +// NewCommand is like exec.CommandContext but ensures that subprocesses +// are killed when the context times out, not just the top level process. +func NewCommand(ctx context.Context, command string, args ...string) *Cmd { + return &Cmd{ctx, exec.Command(command, args...)} +} + +func (c *Cmd) Start() error { + // Force-enable setpgid bit so that we can kill child processes when the + // context times out or is canceled. + if c.Cmd.SysProcAttr == nil { + c.Cmd.SysProcAttr = &syscall.SysProcAttr{} + } + c.Cmd.SysProcAttr.Setpgid = true + err := c.Cmd.Start() + if err != nil { + return err + } + go func() { + <-c.ctx.Done() + p := c.Cmd.Process + if p == nil { + return + } + // Kill by negative PID to kill the process group, which includes + // the top-level process we spawned as well as any subprocesses + // it spawned. + _ = syscall.Kill(-p.Pid, syscall.SIGKILL) + }() + return nil +} + +func (c *Cmd) Run() error { + if err := c.Start(); err != nil { + return err + } + return c.Wait() +} diff --git a/convert.go b/convert.go new file mode 100644 index 0000000..ef6a717 --- /dev/null +++ b/convert.go @@ -0,0 +1,246 @@ +package main + +import ( + "context" + "encoding/json" + "fmt" + "io" + "math/rand" + "net" + "os" + "path" + "regexp" + "strconv" + "strings" + "time" + + ffmpeg_go "github.com/u2takey/ffmpeg-go" + "golang.org/x/exp/slices" +) + +const probeTimeout = 10 * time.Second +const maxFFmpegProbeBytes = 20 * 1024 * 1024 + +var compatibleVideoCodecs = []string{"h264", "vp9"} +var compatibleAudioCodecs = []string{"aac", "opus", "mp3"} + +type ffmpegProbeDataStreamsStream struct { + CodecName string `json:"codec_name"` + CodecType string `json:"codec_type"` +} + +type ffmpegProbeDataFormat struct { + FormatName string `json:"format_name"` + Duration string `json:"duration"` +} + +type ffmpegProbeData struct { + Streams []ffmpegProbeDataStreamsStream `json:"streams"` + Format ffmpegProbeDataFormat `json:"format"` +} + +type Converter struct { + VideoCodecs string + VideoConvertNeeded bool + SingleVideoStreamNeeded bool + + AudioCodecs string + AudioConvertNeeded bool + SingleAudioStreamNeeded bool + + Duration float64 + + UpdateProgressPercentCallback UpdateProgressPercentCallbackFunc +} + +func (c *Converter) Probe(rr *ReReadCloser) error { + defer func() { + // Restart and replay buffer data used when probing + rr.Restarted = true + }() + + fmt.Println(" probing file...") + i, err := ffmpeg_go.ProbeReaderWithTimeout(io.LimitReader(rr, maxFFmpegProbeBytes), probeTimeout, nil) + if err != nil { + return fmt.Errorf("error probing file: %w", err) + } + + pd := ffmpegProbeData{} + err = json.Unmarshal([]byte(i), &pd) + if err != nil { + return fmt.Errorf("error decoding probe result: %w", err) + } + + c.Duration, err = strconv.ParseFloat(pd.Format.Duration, 64) + if err != nil { + fmt.Println(" error parsing duration:", err) + } + + gotVideoStream := false + gotAudioStream := false + for _, stream := range pd.Streams { + if stream.CodecType == "video" { + if c.VideoCodecs != "" { + c.VideoCodecs += ", " + } + c.VideoCodecs += stream.CodecName + + if gotVideoStream { + fmt.Println(" got additional video stream") + c.SingleVideoStreamNeeded = true + } else if !c.VideoConvertNeeded { + if !slices.Contains(compatibleVideoCodecs, stream.CodecName) { + fmt.Println(" found incompatible video codec:", stream.CodecName) + c.VideoConvertNeeded = true + } else { + fmt.Println(" found video codec:", stream.CodecName) + } + gotVideoStream = true + } + } else if stream.CodecType == "audio" { + if c.AudioCodecs != "" { + c.AudioCodecs += ", " + } + c.AudioCodecs += stream.CodecName + + if gotAudioStream { + fmt.Println(" got additional audio stream") + c.SingleAudioStreamNeeded = true + } else if !c.AudioConvertNeeded { + if !slices.Contains(compatibleAudioCodecs, stream.CodecName) { + fmt.Println(" found not compatible audio codec:", stream.CodecName) + c.AudioConvertNeeded = true + } else { + fmt.Println(" found audio codec:", stream.CodecName) + } + gotAudioStream = true + } + } + } + + if !gotVideoStream { + return fmt.Errorf("no video stream found in file") + } + + return nil +} + +func (c *Converter) ffmpegProgressSock() (sockFilename string, sock net.Listener, err error) { + sockFilename = path.Join(os.TempDir(), fmt.Sprintf("yt-dlp-telegram-bot-%d.sock", rand.Int())) + sock, err = net.Listen("unix", sockFilename) + if err != nil { + fmt.Println(" ffmpeg progress socket create error:", err) + return + } + + go func() { + re := regexp.MustCompile(`out_time_ms=(\d+)\n`) + + fd, err := sock.Accept() + if err != nil { + fmt.Println(" ffmpeg progress socket accept error:", err) + return + } + defer fd.Close() + + buf := make([]byte, 64) + data := "" + + for { + _, err := fd.Read(buf) + if err != nil { + return + } + + data += string(buf) + a := re.FindAllStringSubmatch(data, -1) + + if len(a) > 0 && len(a[len(a)-1]) > 0 { + data = "" + l, _ := strconv.Atoi(a[len(a)-1][len(a[len(a)-1])-1]) + c.UpdateProgressPercentCallback(int(100 * float64(l) / c.Duration / 1000000)) + } + + if strings.Contains(data, "progress=end") { + c.UpdateProgressPercentCallback(100) + } + } + }() + + return +} + +func (c *Converter) GetActionsNeeded() string { + var convertNeeded []string + if c.VideoConvertNeeded || c.SingleVideoStreamNeeded { + convertNeeded = append(convertNeeded, "video") + } + if c.AudioConvertNeeded || c.SingleAudioStreamNeeded { + convertNeeded = append(convertNeeded, "audio") + } + return strings.Join(convertNeeded, ", ") +} + +func (c *Converter) ConvertIfNeeded(ctx context.Context, rr *ReReadCloser) (io.ReadCloser, error) { + reader, writer := io.Pipe() + var cmd *Cmd + + fmt.Print(" converting ", c.GetActionsNeeded(), "...\n") + + args := ffmpeg_go.KwArgs{"format": "mp4", "movflags": "frag_keyframe+empty_moov+faststart"} + + if c.VideoConvertNeeded { + args = ffmpeg_go.MergeKwArgs([]ffmpeg_go.KwArgs{args, {"c:v": "libx264", "crf": 30, "preset": "veryfast"}}) + } else { + args = ffmpeg_go.MergeKwArgs([]ffmpeg_go.KwArgs{args, {"c:v": "copy"}}) + } + + if c.AudioConvertNeeded { + args = ffmpeg_go.MergeKwArgs([]ffmpeg_go.KwArgs{args, {"c:a": "mp3", "q:a": 0}}) + } else { + args = ffmpeg_go.MergeKwArgs([]ffmpeg_go.KwArgs{args, {"c:a": "copy"}}) + } + + if c.SingleVideoStreamNeeded || c.SingleAudioStreamNeeded { + args = ffmpeg_go.MergeKwArgs([]ffmpeg_go.KwArgs{args, {"map": "0:v:0,0:a:0"}}) + } + + ff := ffmpeg_go.Input("pipe:0").Output("pipe:1", args) + + var err error + var progressSock net.Listener + if c.UpdateProgressPercentCallback != nil { + if c.Duration > 0 { + var progressSockFilename string + progressSockFilename, progressSock, err = c.ffmpegProgressSock() + if err == nil { + ff = ff.GlobalArgs("-progress", "unix:"+progressSockFilename) + } + } else { + c.UpdateProgressPercentCallback(-1) + } + } + + ffCmd := ff.WithInput(rr).WithOutput(writer).Compile() + + // Creating a new cmd with a timeout context, which will kill the cmd if it takes too long. + cmd = NewCommand(ctx, ffCmd.Args[0], ffCmd.Args[1:]...) + cmd.Stdin = ffCmd.Stdin + cmd.Stdout = ffCmd.Stdout + + // This goroutine handles copying from the input (either rr or cmd.Stdout) to writer. + go func() { + err = cmd.Run() + writer.Close() + if progressSock != nil { + progressSock.Close() + } + }() + + if err != nil { + writer.Close() + return nil, fmt.Errorf("error converting: %w", err) + } + + return reader, nil +} diff --git a/dl.go b/dl.go new file mode 100644 index 0000000..9b9ee3c --- /dev/null +++ b/dl.go @@ -0,0 +1,78 @@ +package main + +import ( + "context" + "fmt" + "io" + "time" + + "github.com/wader/goutubedl" +) + +const downloadAndConvertTimeout = 5 * time.Minute + +type ProbeStartCallbackFunc func(ctx context.Context) +type ConvertStartCallbackFunc func(ctx context.Context, videoCodecs, audioCodecs, convertActionsNeeded string) +type UpdateProgressPercentCallbackFunc func(progressPercent int) + +type Downloader struct { + ProbeStartFunc ProbeStartCallbackFunc + ConvertStartFunc ConvertStartCallbackFunc + UpdateProgressPercentFunc UpdateProgressPercentCallbackFunc +} + +type goYouTubeDLLogger struct{} + +func (l goYouTubeDLLogger) Print(v ...interface{}) { + fmt.Print(" yt-dlp dbg:") + fmt.Println(v...) +} + +func (d *Downloader) downloadURL(dlCtx context.Context, url string) (rr *ReReadCloser, err error) { + result, err := goutubedl.New(dlCtx, url, goutubedl.Options{ + Type: goutubedl.TypeSingle, + DebugLog: goYouTubeDLLogger{}, + MergeOutputFormat: "mkv", // This handles VP9 properly. yt-dlp uses mp4 by default, which doesn't. + SortingFormat: "res:720", // Prefer videos no larger than 720p to keep their size small. + }) + if err != nil { + return nil, fmt.Errorf("preparing download %q: %w", url, err) + } + + dlResult, err := result.Download(dlCtx, "") + if err != nil { + return nil, fmt.Errorf("downloading %q: %w", url, err) + } + + return NewReReadCloser(dlResult), nil +} + +func (d *Downloader) DownloadAndConvertURL(ctx context.Context, url string) (r io.ReadCloser, err error) { + rr, err := d.downloadURL(ctx, url) + if err != nil { + return nil, err + } + + conv := Converter{ + UpdateProgressPercentCallback: d.UpdateProgressPercentFunc, + } + + if d.ProbeStartFunc != nil { + d.ProbeStartFunc(ctx) + } + + if err := conv.Probe(rr); err != nil { + return nil, err + } + + if d.ConvertStartFunc != nil { + d.ConvertStartFunc(ctx, conv.VideoCodecs, conv.AudioCodecs, conv.GetActionsNeeded()) + } + + r, err = conv.ConvertIfNeeded(ctx, rr) + if err != nil { + return nil, err + } + + return r, nil +} diff --git a/go.mod b/go.mod new file mode 100644 index 0000000..3165cd6 --- /dev/null +++ b/go.mod @@ -0,0 +1,45 @@ +module github.com/nonoo/yt-dlp-telegram-bot + +go 1.20 + +replace github.com/wader/goutubedl => github.com/nonoo/goutubedl v0.0.0-20230814114826-c1dcced79138 + +require ( + github.com/google/go-github/v53 v53.2.0 + github.com/gotd/td v0.84.0 + github.com/u2takey/ffmpeg-go v0.5.0 + github.com/wader/goutubedl v0.0.0-00010101000000-000000000000 + golang.org/x/exp v0.0.0-20230116083435-1de6713980de +) + +require ( + github.com/ProtonMail/go-crypto v0.0.0-20230217124315-7d5c6f04bbb8 // indirect + github.com/aws/aws-sdk-go v1.38.20 // indirect + github.com/cenkalti/backoff/v4 v4.2.1 // indirect + github.com/cloudflare/circl v1.3.3 // indirect + github.com/go-faster/errors v0.6.1 // indirect + github.com/go-faster/jx v1.0.1 // indirect + github.com/go-faster/xor v1.0.0 // indirect + github.com/golang/protobuf v1.5.2 // indirect + github.com/google/go-querystring v1.1.0 // indirect + github.com/gotd/ige v0.2.2 // indirect + github.com/gotd/neo v0.1.5 // indirect + github.com/jmespath/go-jmespath v0.4.0 // indirect + github.com/klauspost/compress v1.16.7 // indirect + github.com/segmentio/asm v1.2.0 // indirect + github.com/u2takey/go-utils v0.3.1 // indirect + go.opentelemetry.io/otel v1.16.0 // indirect + go.opentelemetry.io/otel/trace v1.16.0 // indirect + go.uber.org/atomic v1.11.0 // indirect + go.uber.org/multierr v1.11.0 // indirect + go.uber.org/zap v1.25.0 // indirect + golang.org/x/crypto v0.11.0 // indirect + golang.org/x/net v0.12.0 // indirect + golang.org/x/oauth2 v0.8.0 // indirect + golang.org/x/sync v0.3.0 // indirect + golang.org/x/sys v0.10.0 // indirect + google.golang.org/appengine v1.6.7 // indirect + google.golang.org/protobuf v1.28.1 // indirect + nhooyr.io/websocket v1.8.7 // indirect + rsc.io/qr v0.2.0 // indirect +) diff --git a/go.sum b/go.sum new file mode 100644 index 0000000..214148d --- /dev/null +++ b/go.sum @@ -0,0 +1,184 @@ +github.com/ProtonMail/go-crypto v0.0.0-20230217124315-7d5c6f04bbb8 h1:wPbRQzjjwFc0ih8puEVAOFGELsn1zoIIYdxvML7mDxA= +github.com/ProtonMail/go-crypto v0.0.0-20230217124315-7d5c6f04bbb8/go.mod h1:I0gYDMZ6Z5GRU7l58bNFSkPTFN6Yl12dsUlAZ8xy98g= +github.com/aws/aws-sdk-go v1.38.20 h1:QbzNx/tdfATbdKfubBpkt84OM6oBkxQZRw6+bW2GyeA= +github.com/aws/aws-sdk-go v1.38.20/go.mod h1:hcU610XS61/+aQV88ixoOzUoG7v3b31pl2zKMmprdro= +github.com/benbjohnson/clock v1.3.0 h1:ip6w0uFQkncKQ979AypyG0ER7mqUSBdKLOgAle/AT8A= +github.com/bwesterb/go-ristretto v1.2.0/go.mod h1:fUIoIZaG73pV5biE2Blr2xEzDoMj7NFEuV9ekS419A0= +github.com/cenkalti/backoff/v4 v4.2.1 h1:y4OZtCnogmCPw98Zjyt5a6+QwPLGkiQsYW5oUqylYbM= +github.com/cenkalti/backoff/v4 v4.2.1/go.mod h1:Y3VNntkOUPxTVeUxJ/G5vcM//AlwfmyYozVcomhLiZE= +github.com/cloudflare/circl v1.1.0/go.mod h1:prBCrKB9DV4poKZY1l9zBXg2QJY7mvgRvtMxxK7fi4I= +github.com/cloudflare/circl v1.3.3 h1:fE/Qz0QdIGqeWfnwq0RE0R7MI51s0M2E4Ga9kq5AEMs= +github.com/cloudflare/circl v1.3.3/go.mod h1:5XYMA4rFBvNIrhs50XuiBJ15vF2pZn4nnUKZrLbUZFA= +github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= +github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= +github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= +github.com/disintegration/imaging v1.6.2/go.mod h1:44/5580QXChDfwIclfc/PCwrr44amcmDAg8hxG0Ewe4= +github.com/fortytw2/leaktest v1.3.0 h1:u8491cBMTQ8ft8aeV+adlcytMZylmA5nnwwkRZjI8vw= +github.com/fortytw2/leaktest v1.3.0/go.mod h1:jDsjWgpAGjm2CA7WthBh/CdZYEPF31XHquHwclZch5g= +github.com/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMoQvtojpjFo= +github.com/gin-contrib/sse v0.1.0 h1:Y/yl/+YNO8GZSjAhjMsSuLt29uWRFHdHYUb5lYOV9qE= +github.com/gin-contrib/sse v0.1.0/go.mod h1:RHrZQHXnP2xjPF+u1gW/2HnVO7nvIa9PG3Gm+fLHvGI= +github.com/gin-gonic/gin v1.6.3 h1:ahKqKTFpO5KTPHxWZjEdPScmYaGtLo8Y4DMHoEsnp14= +github.com/gin-gonic/gin v1.6.3/go.mod h1:75u5sXoLsGZoRN5Sgbi1eraJ4GU3++wFwWzhwvtwp4M= +github.com/go-faster/errors v0.6.1 h1:nNIPOBkprlKzkThvS/0YaX8Zs9KewLCOSFQS5BU06FI= +github.com/go-faster/errors v0.6.1/go.mod h1:5MGV2/2T9yvlrbhe9pD9LO5Z/2zCSq2T8j+Jpi2LAyY= +github.com/go-faster/jx v1.0.1 h1:NhSJEZtqj6KmXf63On7Hg7/sjUX+gotSc/eM6bZCZ00= +github.com/go-faster/jx v1.0.1/go.mod h1:vKDNikrKoyUmpzaJ0OkIkRQClNHFX/nF3dnTJZb3skg= +github.com/go-faster/xor v0.3.0/go.mod h1:x5CaDY9UKErKzqfRfFZdfu+OSTfoZny3w5Ak7UxcipQ= +github.com/go-faster/xor v1.0.0 h1:2o8vTOgErSGHP3/7XwA5ib1FTtUsNtwCoLLBjl31X38= +github.com/go-faster/xor v1.0.0/go.mod h1:x5CaDY9UKErKzqfRfFZdfu+OSTfoZny3w5Ak7UxcipQ= +github.com/go-logr/logr v0.1.0/go.mod h1:ixOQHD9gLJUVQQ2ZOR7zLEifBX6tGkNJF4QyIY7sIas= +github.com/go-playground/assert/v2 v2.0.1/go.mod h1:VDjEfimB/XKnb+ZQfWdccd7VUvScMdVu0Titje2rxJ4= +github.com/go-playground/locales v0.13.0 h1:HyWk6mgj5qFqCT5fjGBuRArbVDfE4hi8+e8ceBS/t7Q= +github.com/go-playground/locales v0.13.0/go.mod h1:taPMhCMXrRLJO55olJkUXHZBHCxTMfnGwq/HNwmWNS8= +github.com/go-playground/universal-translator v0.17.0 h1:icxd5fm+REJzpZx7ZfpaD876Lmtgy7VtROAbHHXk8no= +github.com/go-playground/universal-translator v0.17.0/go.mod h1:UkSxE5sNxxRwHyU+Scu5vgOQjsIJAF8j9muTVoKLVtA= +github.com/go-playground/validator/v10 v10.2.0 h1:KgJ0snyC2R9VXYN2rneOtQcw5aHQB1Vv0sFl1UcHBOY= +github.com/go-playground/validator/v10 v10.2.0/go.mod h1:uOYAAleCW8F/7oMFd6aG0GOhaH6EGOAJShg8Id5JGkI= +github.com/gobwas/httphead v0.0.0-20180130184737-2c6c146eadee h1:s+21KNqlpePfkah2I+gwHF8xmJWRjooY+5248k6m4A0= +github.com/gobwas/httphead v0.0.0-20180130184737-2c6c146eadee/go.mod h1:L0fX3K22YWvt/FAX9NnzrNzcI4wNYi9Yku4O0LKYflo= +github.com/gobwas/pool v0.2.0 h1:QEmUOlnSjWtnpRGHF3SauEiOsy82Cup83Vf2LcMlnc8= +github.com/gobwas/pool v0.2.0/go.mod h1:q8bcK0KcYlCgd9e7WYLm9LpyS+YeLd8JVDW6WezmKEw= +github.com/gobwas/ws v1.0.2 h1:CoAavW/wd/kulfZmSIBt6p24n4j7tHgNVCjsfHVNUbo= +github.com/gobwas/ws v1.0.2/go.mod h1:szmBTxLgaFppYjEmNtny/v3w89xOydFnnZMcgRRu/EM= +github.com/gogo/protobuf v1.3.1/go.mod h1:SlYgWuQ5SjCEi6WLHjHCa1yvBfUnHcTbrrZtXPKa29o= +github.com/golang/protobuf v1.3.1/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= +github.com/golang/protobuf v1.3.3/go.mod h1:vzj43D7+SQXF/4pzW/hwtAqwc6iTitCiVSaWz5lYuqw= +github.com/golang/protobuf v1.3.5/go.mod h1:6O5/vntMXwX2lRkT1hjjk0nAC1IDOTvTlVgjlRvqsdk= +github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaSAoJOfIk= +github.com/golang/protobuf v1.5.2 h1:ROPKBNFfQgOUMifHyP+KYbvpjbdoFNs+aK7DXlji0Tw= +github.com/golang/protobuf v1.5.2/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY= +github.com/google/go-cmp v0.4.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= +github.com/google/go-cmp v0.5.2/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= +github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= +github.com/google/go-cmp v0.5.9 h1:O2Tfq5qg4qc4AmwVlvv0oLiVAGB7enBSJ2x2DqQFi38= +github.com/google/go-github/v53 v53.2.0 h1:wvz3FyF53v4BK+AsnvCmeNhf8AkTaeh2SoYu/XUvTtI= +github.com/google/go-github/v53 v53.2.0/go.mod h1:XhFRObz+m/l+UCm9b7KSIC3lT3NWSXGt7mOsAWEloao= +github.com/google/go-querystring v1.1.0 h1:AnCroh3fv4ZBgVIf1Iwtovgjaw/GiKJo8M8yD/fhyJ8= +github.com/google/go-querystring v1.1.0/go.mod h1:Kcdr2DB4koayq7X8pmAG4sNG59So17icRSOU623lUBU= +github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= +github.com/google/uuid v1.1.1/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= +github.com/gorilla/websocket v1.4.1 h1:q7AeDBpnBk8AogcD4DSag/Ukw/KV+YhzLj2bP5HvKCM= +github.com/gorilla/websocket v1.4.1/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE= +github.com/gotd/ige v0.2.2 h1:XQ9dJZwBfDnOGSTxKXBGP4gMud3Qku2ekScRjDWWfEk= +github.com/gotd/ige v0.2.2/go.mod h1:tuCRb+Y5Y3eNTo3ypIfNpQ4MFjrnONiL2jN2AKZXmb0= +github.com/gotd/neo v0.1.5 h1:oj0iQfMbGClP8xI59x7fE/uHoTJD7NZH9oV1WNuPukQ= +github.com/gotd/neo v0.1.5/go.mod h1:9A2a4bn9zL6FADufBdt7tZt+WMhvZoc5gWXihOPoiBQ= +github.com/gotd/td v0.84.0 h1:oWMp5HczCAFSgKWgWFCuYjELBgcRVcRpGLdQ1bP2kpg= +github.com/gotd/td v0.84.0/go.mod h1:3dQsGL9rxMcS1Z9Na3S7U8e/pLMzbLIT2jM3E5IuUk0= +github.com/hashicorp/golang-lru v0.5.4/go.mod h1:iADmTwqILo4mZ8BN3D2Q6+9jd8WM5uGBxy+E8yxSoD4= +github.com/jmespath/go-jmespath v0.4.0 h1:BEgLn5cpjn8UN1mAw4NjwDrS35OdebyEtFe+9YPoQUg= +github.com/jmespath/go-jmespath v0.4.0/go.mod h1:T8mJZnbsbmF+m6zOOFylbeCJqk5+pHWvzYPziyZiYoo= +github.com/jmespath/go-jmespath/internal/testify v1.5.1 h1:shLQSRRSCCPj3f2gpwzGwWFoC7ycTf1rcQZHOlsJ6N8= +github.com/jmespath/go-jmespath/internal/testify v1.5.1/go.mod h1:L3OGu8Wl2/fWfCI6z80xFu9LTZmf1ZRjMHUOPmWr69U= +github.com/json-iterator/go v1.1.9/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= +github.com/json-iterator/go v1.1.10/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= +github.com/json-iterator/go v1.1.12 h1:PV8peI4a0ysnczrg+LtxykD8LfKY9ML6u2jnxaEnrnM= +github.com/kisielk/errcheck v1.2.0/go.mod h1:/BMXB+zMLi60iA8Vv6Ksmxu/1UDYcXs4uQLJ+jE2L00= +github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= +github.com/klauspost/compress v1.10.3/go.mod h1:aoV0uJVorq1K+umq18yTdKaF57EivdYsUV+/s2qKfXs= +github.com/klauspost/compress v1.16.7 h1:2mk3MPGNzKyxErAw8YaohYh69+pa4sIQSC0fPGCFR9I= +github.com/klauspost/compress v1.16.7/go.mod h1:ntbaceVETuRiXiv4DpjP66DpAtAGkEQskQzEyD//IeE= +github.com/leodido/go-urn v1.2.0 h1:hpXL4XnriNwQ/ABnpepYM/1vCLWNDfUNts8dX3xTG6Y= +github.com/leodido/go-urn v1.2.0/go.mod h1:+8+nEpDfqqsY+g338gtMEUOtuK+4dEMhiQEgxpxOKII= +github.com/mattn/go-isatty v0.0.12/go.mod h1:cbi8OIDigv2wuxKPP5vlRcQ1OAZbq2CE4Kysco4FUpU= +github.com/mattn/go-isatty v0.0.16 h1:bq3VjFmv/sOjHtdEhmkEV4x1AJtvUvOJ2PFAZ5+peKQ= +github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= +github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd h1:TRLaZ9cD/w8PVh93nsPXa1VrQ6jlwL5oN8l14QlcNfg= +github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= +github.com/modern-go/reflect2 v0.0.0-20180701023420-4b7aa43c6742/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0= +github.com/modern-go/reflect2 v1.0.1 h1:9f412s+6RmYXLWZSEzVVgPGK7C2PphHj5RJrvfx9AWI= +github.com/modern-go/reflect2 v1.0.1/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0= +github.com/nonoo/goutubedl v0.0.0-20230814114826-c1dcced79138 h1:zS49Q/Vxi7m1iPm10Or61K4tXUWFlb/D2jh3lk0sbfw= +github.com/nonoo/goutubedl v0.0.0-20230814114826-c1dcced79138/go.mod h1:5KXd5tImdbmz4JoVhePtbIokCwAfEhUVVx3WLHmjYuw= +github.com/panjf2000/ants/v2 v2.4.2/go.mod h1:f6F0NZVFsGCp5A7QW/Zj/m92atWwOkY0OIhFxRNFr4A= +github.com/pkg/errors v0.8.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= +github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= +github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= +github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= +github.com/segmentio/asm v1.2.0 h1:9BQrFxC+YOHJlTlHGkTrFWf59nbL3XnCoFLTwDCI7ys= +github.com/segmentio/asm v1.2.0/go.mod h1:BqMnlJP91P8d+4ibuonYZw9mfnzI9HfxselHZr5aAcs= +github.com/spf13/afero v1.2.2/go.mod h1:9ZxEEn6pIJ8Rxe320qSDBk6AsU0r9pR7Q4OcevTdifk= +github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= +github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= +github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4= +github.com/stretchr/testify v1.5.1/go.mod h1:5W2xD1RspED5o8YsWQXVCued0rvSQ+mT+I5cxcmMvtA= +github.com/stretchr/testify v1.8.4 h1:CcVxjf3Q8PM0mHUKJCdn+eZZtm5yQwehR5yeSVQQcUk= +github.com/u2takey/ffmpeg-go v0.5.0 h1:r7d86XuL7uLWJ5mzSeQ03uvjfIhiJYvsRAJFCW4uklU= +github.com/u2takey/ffmpeg-go v0.5.0/go.mod h1:ruZWkvC1FEiUNjmROowOAps3ZcWxEiOpFoHCvk97kGc= +github.com/u2takey/go-utils v0.3.1 h1:TaQTgmEZZeDHQFYfd+AdUT1cT4QJgJn/XVPELhHw4ys= +github.com/u2takey/go-utils v0.3.1/go.mod h1:6e+v5vEZ/6gu12w/DC2ixZdZtCrNokVxD0JUklcqdCs= +github.com/ugorji/go v1.1.7 h1:/68gy2h+1mWMrwZFeD1kQialdSzAb432dtpeJ42ovdo= +github.com/ugorji/go v1.1.7/go.mod h1:kZn38zHttfInRq0xu/PH0az30d+z6vm202qpg1oXVMw= +github.com/ugorji/go/codec v1.1.7 h1:2SvQaVZ1ouYrrKKwoSk2pzd4A9evlKJb9oTL+OaLUSs= +github.com/ugorji/go/codec v1.1.7/go.mod h1:Ax+UKWsSmolVDwsd+7N3ZtXu+yMGCf907BLYF3GoBXY= +github.com/wader/osleaktest v0.0.0-20191111175233-f643b0fed071 h1:QkrG4Zr5OVFuC9aaMPmFI0ibfhBZlAgtzDYWfu7tqQk= +github.com/wader/osleaktest v0.0.0-20191111175233-f643b0fed071/go.mod h1:XD6emOFPHVzb0+qQpiNOdPL2XZ0SRUM0N5JHuq6OmXo= +go.opentelemetry.io/otel v1.16.0 h1:Z7GVAX/UkAXPKsy94IU+i6thsQS4nb7LviLpnaNeW8s= +go.opentelemetry.io/otel v1.16.0/go.mod h1:vl0h9NUa1D5s1nv3A5vZOYWn8av4K8Ml6JDeHrT/bx4= +go.opentelemetry.io/otel/trace v1.16.0 h1:8JRpaObFoW0pxuVPapkgH8UhHQj+bJW8jJsCZEu5MQs= +go.opentelemetry.io/otel/trace v1.16.0/go.mod h1:Yt9vYq1SdNz3xdjZZK7wcXv1qv2pwLkqr2QVwea0ef0= +go.uber.org/atomic v1.11.0 h1:ZvwS0R+56ePWxUNi+Atn9dWONBPp/AUETXlHW0DxSjE= +go.uber.org/atomic v1.11.0/go.mod h1:LUxbIzbOniOlMKjJjyPfpl4v+PKK2cNJn91OQbhoJI0= +go.uber.org/goleak v1.2.0 h1:xqgm/S+aQvhWFTtR0XK3Jvg7z8kGV8P4X14IzwN3Eqk= +go.uber.org/multierr v1.11.0 h1:blXXJkSxSSfBVBlC76pxqeO+LN3aDfLQo+309xJstO0= +go.uber.org/multierr v1.11.0/go.mod h1:20+QtiLqy0Nd6FdQB9TLXag12DsQkrbs3htMFfDN80Y= +go.uber.org/zap v1.25.0 h1:4Hvk6GtkucQ790dqmj7l1eEnRdKm3k3ZUrUMS2d5+5c= +go.uber.org/zap v1.25.0/go.mod h1:JIAUzQIH94IC4fOJQm7gMmBJP5k7wQfdcnYdPoEXJYk= +gocv.io/x/gocv v0.25.0/go.mod h1:Rar2PS6DV+T4FL+PM535EImD/h13hGVaHhnCu1xarBs= +golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= +golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= +golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= +golang.org/x/crypto v0.11.0 h1:6Ewdq3tDic1mg5xRO4milcWCfMVQhI4NkqWWvqejpuA= +golang.org/x/crypto v0.11.0/go.mod h1:xgJhtzW8F9jGdVFWZESrid1U1bjeNy4zgy5cRr/CIio= +golang.org/x/exp v0.0.0-20230116083435-1de6713980de h1:DBWn//IJw30uYCgERoxCg84hWtA97F4wMiKOIh00Uf0= +golang.org/x/exp v0.0.0-20230116083435-1de6713980de/go.mod h1:CxIveKay+FTh1D0yPZemJVgC/95VzuuOLq5Qi4xnoYc= +golang.org/x/image v0.0.0-20191009234506-e7c1f5e7dbb8/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0= +golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= +golang.org/x/net v0.0.0-20190603091049-60506f45cf65/go.mod h1:HSz+uSET+XFnRR8LxR5pz3Of3rY3CfYBVs4xY44aLks= +golang.org/x/net v0.0.0-20201110031124-69a78807bb2b/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= +golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= +golang.org/x/net v0.12.0 h1:cfawfvKITfUsFCeJIHJrbSxpeu/E81khclypR0GVT50= +golang.org/x/net v0.12.0/go.mod h1:zEVYFnQC7m/vmpQFELhcD1EWkZlX69l4oqgmer6hfKA= +golang.org/x/oauth2 v0.8.0 h1:6dkIjl3j3LtZ/O3sTgZTMsLKSftL/B8Zgq4huOIIUu8= +golang.org/x/oauth2 v0.8.0/go.mod h1:yr7u4HXZRm1R1kBWqr/xKNqewf0plRYoB7sla+BCIXE= +golang.org/x/sync v0.0.0-20201207232520-09787c993a3a/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.3.0 h1:ftCYgMx6zT/asHUrPw8BLLscYtGznsLAnjq5RH9P66E= +golang.org/x/sync v0.3.0/go.mod h1:FU7BRWz2tNW+3quACPkgCx/L+uEAv1htQ0V83Z9Rj+Y= +golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200116001909-b77594299b42/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200602225109-6fdc65e7d980/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20211007075335-d3039528d8ac/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.10.0 h1:SqMFp9UcQJZa+pmYuAKjd9xq1f0j5rLcDIk0mj4qAsA= +golang.org/x/sys v0.10.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= +golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= +golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk= +golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= +golang.org/x/text v0.11.0 h1:LAntKIrcmeSKERyiOh0XMV39LXS8IE9UL2yP7+f5ij4= +golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= +golang.org/x/time v0.0.0-20191024005414-555d28b269f0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= +golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= +golang.org/x/tools v0.0.0-20181030221726-6c7e314b6563/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= +golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= +google.golang.org/appengine v1.6.7 h1:FZR1q0exgwxzPzp/aF+VccGrSfxfPpkBqjIIEq3ru6c= +google.golang.org/appengine v1.6.7/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc= +google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw= +google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= +google.golang.org/protobuf v1.28.1 h1:d0NfwRgPtno5B1Wa6L2DAG+KivqkdutMf1UhdNx175w= +google.golang.org/protobuf v1.28.1/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= +gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= +gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= +gopkg.in/yaml.v2 v2.2.7/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= +gopkg.in/yaml.v2 v2.2.8/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= +gopkg.in/yaml.v2 v2.3.0 h1:clyUAQHOM3G0M3f5vQj7LuJrETvjVot3Z5el9nffUtU= +gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= +nhooyr.io/websocket v1.8.7 h1:usjR2uOr/zjjkVMy0lW+PPohFok7PCow5sDjLgX4P4g= +nhooyr.io/websocket v1.8.7/go.mod h1:B70DZP8IakI65RVQ51MsWP/8jndNma26DVA/nFSCgW0= +rsc.io/qr v0.2.0 h1:6vBLea5/NRMVTz8V66gipeLycZMl/+UlFmk8DvqQ6WY= +rsc.io/qr v0.2.0/go.mod h1:IF+uZjkb9fqyeF/4tlBoynqmQxUoPfWEKh921coOuXs= +sigs.k8s.io/yaml v1.2.0/go.mod h1:yfXDCHCao9+ENCvLSE62v9VSji2MKu5jeNfTrofGhJc= diff --git a/helper.go b/helper.go new file mode 100644 index 0000000..2874796 --- /dev/null +++ b/helper.go @@ -0,0 +1,66 @@ +package main + +import ( + "context" + "fmt" + + "github.com/gotd/td/tg" +) + +// Helper function to pretty-print any Telegram API object to find out which it needs to be cast to. +// https://github.com/gotd/td/blob/main/examples/pretty-print/main.go + +// func formatObject(input interface{}) string { +// o, ok := input.(tdp.Object) +// if !ok { +// // Handle tg.*Box values. +// rv := reflect.Indirect(reflect.ValueOf(input)) +// for i := 0; i < rv.NumField(); i++ { +// if v, ok := rv.Field(i).Interface().(tdp.Object); ok { +// return formatObject(v) +// } +// } + +// return fmt.Sprintf("%T (not object)", input) +// } +// return tdp.Format(o) +// } + +func getProgressbar(progressPercent, progressBarLen int) (progressBar string) { + i := 0 + for ; i < progressPercent/(100/progressBarLen); i++ { + progressBar += "▰" + } + for ; i < progressBarLen; i++ { + progressBar += "▱" + } + progressBar += " " + fmt.Sprint(progressPercent) + "%" + return +} + +func resolveMsgSrc(msg *tg.Message) (fromUser *tg.PeerUser, fromGroup *tg.PeerChat) { + fromGroup, isGroupMsg := msg.PeerID.(*tg.PeerChat) + if isGroupMsg { + fromUser = msg.FromID.(*tg.PeerUser) + } else { + fromUser = msg.PeerID.(*tg.PeerUser) + } + return +} + +func getFromUsername(entities tg.Entities, fromUID int64) string { + if fromUser, ok := entities.Users[fromUID]; ok { + if un, ok := fromUser.GetUsername(); ok { + return un + } + } + return "" +} + +func sendTextToAdmins(ctx context.Context, msg string) { + for _, id := range params.AdminUserIDs { + _, _ = telegramSender.To(&tg.InputPeerUser{ + UserID: id, + }).Text(ctx, msg) + } +} diff --git a/main.go b/main.go new file mode 100644 index 0000000..ec863aa --- /dev/null +++ b/main.go @@ -0,0 +1,184 @@ +package main + +import ( + "context" + "fmt" + "io" + "net" + "net/url" + "os" + "strings" + "time" + + "github.com/gotd/td/telegram" + "github.com/gotd/td/telegram/message" + "github.com/gotd/td/telegram/uploader" + "github.com/gotd/td/tg" + "golang.org/x/exp/slices" +) + +var dlQueue DownloadQueue + +var telegramUploader *uploader.Uploader +var telegramSender *message.Sender + +func uploadFile(ctx context.Context, entities tg.Entities, u *tg.UpdateNewMessage, f io.ReadCloser) error { + upload, err := telegramUploader.FromReader(ctx, "yt-dlp", f) + if err != nil { + return fmt.Errorf("uploading %w", err) + } + + // Now we have uploaded file handle, sending it as styled message. First, preparing message. + document := message.UploadedDocument(upload).Video() + + // Sending message with media. + if _, err := telegramSender.Answer(entities, u).Media(ctx, document); err != nil { + return fmt.Errorf("send: %w", err) + } + + return nil +} + +func handleCmdDLP(ctx context.Context, entities tg.Entities, u *tg.UpdateNewMessage, msg *tg.Message) { + // Check if message is an URL. + validURI := true + uri, err := url.ParseRequestURI(msg.Message) + if err != nil || (uri.Scheme != "http" && uri.Scheme != "https") { + validURI = false + } else { + _, err = net.LookupHost(uri.Host) + if err != nil { + validURI = false + } + } + if !validURI { + fmt.Println(" (not an url)") + _, _ = telegramSender.Reply(entities, u).Text(ctx, errorStr+": please enter an URL to download") + return + } + + dlQueue.Add(ctx, entities, u, msg.Message) +} + +func handleCmdDLPCancel(ctx context.Context, entities tg.Entities, u *tg.UpdateNewMessage, msg *tg.Message) { + dlQueue.CancelCurrentEntry(ctx, entities, u, msg.Message) +} + +func handleMsg(ctx context.Context, entities tg.Entities, u *tg.UpdateNewMessage) error { + msg, ok := u.Message.(*tg.Message) + if !ok || msg.Out { + // Outgoing message, not interesting. + return nil + } + + fromUser, fromGroup := resolveMsgSrc(msg) + fromUsername := getFromUsername(entities, fromUser.UserID) + + fmt.Print("got message") + if fromUsername != "" { + fmt.Print(" from ", fromUsername, "#", fromUser.UserID) + } + fmt.Println(":", msg.Message) + + if fromGroup != nil { + fmt.Print(" msg from group #", -fromGroup.ChatID) + if !slices.Contains(params.AllowedGroupIDs, -fromGroup.ChatID) { + fmt.Println(", group not allowed, ignoring") + return nil + } + fmt.Println() + } else { + if !slices.Contains(params.AllowedUserIDs, fromUser.UserID) { + fmt.Println(" user not allowed, ignoring") + return nil + } + } + + // Check if message is a command. + if msg.Message[0] == '/' { + cmd := strings.Split(msg.Message, " ")[0] + if strings.Contains(cmd, "@") { + cmd = strings.Split(cmd, "@")[0] + } + msg.Message = strings.TrimPrefix(msg.Message, cmd+" ") + switch cmd { + case "/dlp": + handleCmdDLP(ctx, entities, u, msg) + return nil + case "/dlpcancel": + handleCmdDLPCancel(ctx, entities, u, msg) + return nil + default: + fmt.Println(" (invalid cmd)") + _, _ = telegramSender.Reply(entities, u).Text(ctx, errorStr+": invalid command") + return nil + } + } + + handleCmdDLP(ctx, entities, u, msg) + return nil +} + +func main() { + fmt.Println("yt-dlp-telegram-bot starting...") + + if err := params.Init(); err != nil { + fmt.Println("error:", err) + os.Exit(1) + } + + // Dispatcher handles incoming updates. + dispatcher := tg.NewUpdateDispatcher() + opts := telegram.Options{ + UpdateHandler: dispatcher, + } + var err error + opts, err = telegram.OptionsFromEnvironment(opts) + if err != nil { + panic(fmt.Sprint("options from env err: ", err)) + } + + client := telegram.NewClient(params.ApiID, params.ApiHash, opts) + + if err := client.Run(context.Background(), func(ctx context.Context) error { + status, err := client.Auth().Status(ctx) + if err != nil { + panic(fmt.Sprint("auth status err: ", err)) + } + + if !status.Authorized { // Not logged in? + fmt.Println("logging in...") + if _, err := client.Auth().Bot(ctx, params.BotToken); err != nil { + panic(fmt.Sprint("login err: ", err)) + } + } + + api := client.API() + + telegramUploader = uploader.NewUploader(api) + telegramSender = message.NewSender(api).WithUploader(telegramUploader) + + dlQueue.Init(ctx) + + dispatcher.OnNewMessage(handleMsg) + + fmt.Println("telegram connection up") + + ytdlpVersionCheckStr, _ := ytdlpVersionCheckGetStr(ctx) + sendTextToAdmins(ctx, "🤖 Bot started, "+ytdlpVersionCheckStr) + + go func() { + for { + time.Sleep(24 * time.Hour) + if s, updateNeededOrError := ytdlpVersionCheckGetStr(ctx); updateNeededOrError { + sendTextToAdmins(ctx, s) + } + } + }() + + <-ctx.Done() + return nil + }); err != nil { + panic(err) + } +} diff --git a/params.go b/params.go new file mode 100644 index 0000000..f18476c --- /dev/null +++ b/params.go @@ -0,0 +1,131 @@ +package main + +import ( + "flag" + "fmt" + "os" + "os/exec" + "strconv" + "strings" + + "github.com/wader/goutubedl" + "golang.org/x/exp/slices" +) + +type paramsType struct { + ApiID int + ApiHash string + BotToken string + + AllowedUserIDs []int64 + AdminUserIDs []int64 + AllowedGroupIDs []int64 +} + +var params paramsType + +func (p *paramsType) Init() error { + // Further available environment variables: + // SESSION_FILE: path to session file + // SESSION_DIR: path to session directory, if SESSION_FILE is not set + + var apiID string + flag.StringVar(&apiID, "api-id", "", "telegram api_id") + flag.StringVar(&p.ApiHash, "api-hash", "", "telegram api_hash") + flag.StringVar(&p.BotToken, "bot-token", "", "telegram bot token") + flag.StringVar(&goutubedl.Path, "yt-dlp-path", "", "yt-dlp path") + var allowedUserIDs string + flag.StringVar(&allowedUserIDs, "allowed-user-ids", "", "allowed telegram user ids") + var adminUserIDs string + flag.StringVar(&adminUserIDs, "admin-user-ids", "", "admin telegram user ids") + var allowedGroupIDs string + flag.StringVar(&allowedGroupIDs, "allowed-group-ids", "", "allowed telegram group ids") + flag.Parse() + + var err error + if apiID == "" { + apiID = os.Getenv("API_ID") + } + if apiID == "" { + return fmt.Errorf("api id not set") + } + p.ApiID, err = strconv.Atoi(apiID) + if err != nil { + return fmt.Errorf("invalid env var API_ID") + } + + if p.ApiHash == "" { + p.ApiHash = os.Getenv("API_HASH") + } + if p.ApiHash == "" { + return fmt.Errorf("api hash not set") + } + + if p.BotToken == "" { + p.BotToken = os.Getenv("BOT_TOKEN") + } + if p.BotToken == "" { + return fmt.Errorf("bot token not set") + } + + if goutubedl.Path == "" { + goutubedl.Path = os.Getenv("YTDLP_PATH") + } + if goutubedl.Path == "" { + goutubedl.Path = "yt-dlp" + } + goutubedl.Path, err = exec.LookPath(goutubedl.Path) + if err != nil { + return fmt.Errorf("yt-dlp not found") + } + + if allowedUserIDs == "" { + allowedUserIDs = os.Getenv("ALLOWED_USERIDS") + } + sa := strings.Split(allowedUserIDs, ",") + for _, idStr := range sa { + if idStr == "" { + continue + } + id, err := strconv.ParseInt(idStr, 10, 64) + if err != nil { + return fmt.Errorf("env var ALLOWED_USERIDS contains invalid user ID: " + idStr) + } + p.AllowedUserIDs = append(p.AllowedUserIDs, id) + } + + if adminUserIDs == "" { + adminUserIDs = os.Getenv("ADMIN_USERIDS") + } + sa = strings.Split(adminUserIDs, ",") + for _, idStr := range sa { + if idStr == "" { + continue + } + id, err := strconv.ParseInt(idStr, 10, 64) + if err != nil { + return fmt.Errorf("env var ADMIN_USERIDS contains invalid user ID: " + idStr) + } + p.AdminUserIDs = append(p.AdminUserIDs, id) + if !slices.Contains(p.AllowedUserIDs, id) { + p.AllowedUserIDs = append(p.AllowedUserIDs, id) + } + } + + if allowedGroupIDs == "" { + allowedGroupIDs = os.Getenv("ALLOWED_GROUPIDS") + } + sa = strings.Split(allowedGroupIDs, ",") + for _, idStr := range sa { + if idStr == "" { + continue + } + id, err := strconv.ParseInt(idStr, 10, 64) + if err != nil { + return fmt.Errorf("env var ALLOWED_GROUPIDS contains invalid group ID: " + idStr) + } + p.AllowedGroupIDs = append(p.AllowedUserIDs, id) + } + + return nil +} diff --git a/queue.go b/queue.go new file mode 100644 index 0000000..6cfde03 --- /dev/null +++ b/queue.go @@ -0,0 +1,262 @@ +package main + +import ( + "context" + "fmt" + "sync" + "time" + + "github.com/gotd/td/telegram/message" + "github.com/gotd/td/tg" +) + +const processStartStr = "🔍 Getting information..." +const processStr = "🔨 Processing" +const processDoneStr = "🏁 Processing" +const errorStr = "❌ Error" +const canceledStr = "❌ Canceled" + +const maxProgressPercentUpdateInterval = time.Second +const progressBarLength = 10 + +type DownloadQueueEntry struct { + URL string + + OrigEntities tg.Entities + OrigMsgUpdate *tg.UpdateNewMessage + OrigMsg *tg.Message + FromUser *tg.PeerUser + FromGroup *tg.PeerChat + + Reply *message.Builder + ReplyMsg *tg.UpdateShortSentMessage + + Ctx context.Context + CtxCancel context.CancelFunc + Canceled bool +} + +// func (e *DownloadQueueEntry) getTypingActionDst() tg.InputPeerClass { +// if e.FromGroup != nil { +// return &tg.InputPeerChat{ +// ChatID: e.FromGroup.ChatID, +// } +// } +// return &tg.InputPeerUser{ +// UserID: e.FromUser.UserID, +// } +// } + +func (e *DownloadQueueEntry) sendTypingAction(ctx context.Context) { + // _ = telegramSender.To(e.getTypingActionDst()).TypingAction().Typing(ctx) +} + +func (e *DownloadQueueEntry) sendTypingCancelAction(ctx context.Context) { + // _ = telegramSender.To(e.getTypingActionDst()).TypingAction().Cancel(ctx) +} + +func (e *DownloadQueueEntry) editReply(ctx context.Context, s string) { + _, _ = e.Reply.Edit(e.ReplyMsg.ID).Text(ctx, s) + e.sendTypingAction(ctx) +} + +type DownloadQueue struct { + mutex sync.Mutex + entries []DownloadQueueEntry + processReqChan chan bool +} + +func (e *DownloadQueue) getQueuePositionString(pos int) string { + return "👨‍👦‍👦 Request queued at position #" + fmt.Sprint(pos) +} + +func (q *DownloadQueue) Add(ctx context.Context, entities tg.Entities, u *tg.UpdateNewMessage, url string) { + q.mutex.Lock() + + var replyStr string + if len(q.entries) == 0 { + replyStr = processStartStr + } else { + fmt.Println(" queueing request at position #", len(q.entries)) + replyStr = q.getQueuePositionString(len(q.entries)) + } + + newEntry := DownloadQueueEntry{ + URL: url, + OrigEntities: entities, + OrigMsgUpdate: u, + OrigMsg: u.Message.(*tg.Message), + } + + newEntry.Reply = telegramSender.Reply(entities, u) + replyText, _ := newEntry.Reply.Text(ctx, replyStr) + newEntry.ReplyMsg = replyText.(*tg.UpdateShortSentMessage) + + newEntry.FromUser, newEntry.FromGroup = resolveMsgSrc(newEntry.OrigMsg) + + q.entries = append(q.entries, newEntry) + q.mutex.Unlock() + + select { + case q.processReqChan <- true: + default: + } +} + +func (q *DownloadQueue) CancelCurrentEntry(ctx context.Context, entities tg.Entities, u *tg.UpdateNewMessage, url string) { + q.mutex.Lock() + if len(q.entries) > 0 { + q.entries[0].Canceled = true + q.entries[0].CtxCancel() + } else { + fmt.Println(" no active request to cancel") + _, _ = telegramSender.Reply(entities, u).Text(ctx, errorStr+": no active request to cancel") + } + q.mutex.Unlock() +} + +func (q *DownloadQueue) updateProgress(ctx context.Context, qEntry *DownloadQueueEntry, progressPercent int, sourceCodecInfo string) { + if progressPercent < 0 { + qEntry.editReply(ctx, processStr+"... (no progress available)\n"+sourceCodecInfo) + return + } + if progressPercent == 0 { + qEntry.editReply(ctx, processStr+"...\n"+sourceCodecInfo) + return + } + fmt.Print(" progress: ", progressPercent, "%\n") + qEntry.editReply(ctx, processStr+": "+getProgressbar(progressPercent, progressBarLength)+"\n"+sourceCodecInfo) +} + +func (q *DownloadQueue) processQueueEntry(ctx context.Context, qEntry *DownloadQueueEntry) { + fromUsername := getFromUsername(qEntry.OrigEntities, qEntry.FromUser.UserID) + fmt.Print("processing request by") + if fromUsername != "" { + fmt.Print(" from ", fromUsername, "#", qEntry.FromUser.UserID) + } + fmt.Println(":", qEntry.URL) + + qEntry.editReply(ctx, processStartStr) + + var disableProgressPercentUpdate bool + var lastProgressPercentUpdateAt time.Time + var lastProgressPercent int + var progressUpdateTimer *time.Timer + var sourceCodecInfo string + downloader := Downloader{ + ProbeStartFunc: func(ctx context.Context) { + qEntry.editReply(ctx, "🎬 Getting video format...") + }, + ConvertStartFunc: func(ctx context.Context, videoCodecs, audioCodecs, convertActionsNeeded string) { + sourceCodecInfo = "🎬 Source: " + videoCodecs + if audioCodecs == "" { + sourceCodecInfo += ", no audio" + } else { + sourceCodecInfo += " / " + audioCodecs + } + if convertActionsNeeded == "" { + sourceCodecInfo += " (no conversion needed)" + } else { + sourceCodecInfo += " (converting: " + convertActionsNeeded + ")" + } + qEntry.editReply(ctx, "🎬 Preparing download...\n"+sourceCodecInfo) + }, + UpdateProgressPercentFunc: func(progressPercent int) { + if disableProgressPercentUpdate || lastProgressPercent == progressPercent { + return + } + lastProgressPercent = progressPercent + if progressPercent < 0 { + disableProgressPercentUpdate = true + q.updateProgress(ctx, qEntry, progressPercent, sourceCodecInfo) + return + } + + if progressUpdateTimer != nil { + progressUpdateTimer.Stop() + select { + case <-progressUpdateTimer.C: + default: + } + } + + timeElapsedSinceLastUpdate := time.Since(lastProgressPercentUpdateAt) + if timeElapsedSinceLastUpdate < maxProgressPercentUpdateInterval { + progressUpdateTimer = time.AfterFunc(maxProgressPercentUpdateInterval-timeElapsedSinceLastUpdate, func() { + q.updateProgress(ctx, qEntry, progressPercent, sourceCodecInfo) + lastProgressPercentUpdateAt = time.Now() + }) + return + } + q.updateProgress(ctx, qEntry, progressPercent, sourceCodecInfo) + lastProgressPercentUpdateAt = time.Now() + }, + } + + r, err := downloader.DownloadAndConvertURL(qEntry.Ctx, qEntry.OrigMsg.Message) + if err != nil { + fmt.Println(" error downloading:", err) + qEntry.editReply(ctx, fmt.Sprint(errorStr+": ", err)) + return + } + + // Feeding the returned io.ReadCloser to the uploader. + fmt.Println(" processing...") + q.updateProgress(ctx, qEntry, lastProgressPercent, sourceCodecInfo) + err = uploadFile(ctx, qEntry.OrigEntities, qEntry.OrigMsgUpdate, r) + if err != nil { + fmt.Println(" error processing:", err) + disableProgressPercentUpdate = true + r.Close() + qEntry.editReply(ctx, fmt.Sprint(errorStr+": ", err)) + return + } + disableProgressPercentUpdate = true + r.Close() + + if qEntry.Canceled { + fmt.Print(" canceled\n") + qEntry.editReply(ctx, canceledStr+": "+getProgressbar(lastProgressPercent, progressBarLength)+"\n"+sourceCodecInfo) + } else if lastProgressPercent < 100 { + fmt.Print(" progress: 100%\n") + qEntry.editReply(ctx, processDoneStr+": "+getProgressbar(100, progressBarLength)+"\n"+sourceCodecInfo) + } + qEntry.sendTypingCancelAction(ctx) +} + +func (q *DownloadQueue) processor(ctx context.Context) { + for { + q.mutex.Lock() + if (len(q.entries)) == 0 { + q.mutex.Unlock() + <-q.processReqChan + continue + } + + // Updating queue positions for all waiting entries. + for i := 1; i < len(q.entries); i++ { + q.entries[i].editReply(ctx, q.getQueuePositionString(i)) + q.entries[i].sendTypingCancelAction(ctx) + } + + q.entries[0].Ctx, q.entries[0].CtxCancel = context.WithTimeout(ctx, downloadAndConvertTimeout) + + qEntry := &q.entries[0] + q.mutex.Unlock() + + q.processQueueEntry(ctx, qEntry) + + q.mutex.Lock() + q.entries[0].CtxCancel() + q.entries = q.entries[1:] + if len(q.entries) == 0 { + fmt.Print("finished queue processing\n") + } + q.mutex.Unlock() + } +} + +func (q *DownloadQueue) Init(ctx context.Context) { + q.processReqChan = make(chan bool) + go q.processor(ctx) +} diff --git a/rereader.go b/rereader.go new file mode 100644 index 0000000..247fdbc --- /dev/null +++ b/rereader.go @@ -0,0 +1,78 @@ +package main + +// Copyright (c) 2016 Mattias Wadman + +// Permission is hereby granted, free of charge, to any person obtaining a copy of +// this software and associated documentation files (the "Software"), to deal in +// the Software without restriction, including without limitation the rights to +// use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies +// of the Software, and to permit persons to whom the Software is furnished to do +// so, subject to the following conditions: + +// The above copyright notice and this permission notice shall be included in all +// copies or substantial portions of the Software. + +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +// SOFTWARE. + +import ( + "bytes" + "io" +) + +type restartBuffer struct { + Buffer bytes.Buffer + Restarted bool +} + +func (rb *restartBuffer) Read(r io.Reader, p []byte) (n int, err error) { + if rb.Restarted { + if rb.Buffer.Len() > 0 { + return rb.Buffer.Read(p) + } + n, err = r.Read(p) + return n, err + } + + n, err = r.Read(p) + rb.Buffer.Write(p[:n]) + + return n, err +} + +// ReReader transparently buffers all reads from a reader until Restarted +// is set to true. When restarted buffered data will be replayed on read and +// after that normal reading from the reader continues. +type ReReader struct { + io.Reader + restartBuffer +} + +// NewReReader return a initialized ReReader +func NewReReader(r io.Reader) *ReReader { + return &ReReader{Reader: r} +} + +func (rr *ReReader) Read(p []byte) (n int, err error) { + return rr.restartBuffer.Read(rr.Reader, p) +} + +// ReReadCloser is same as ReReader but also forwards Close calls +type ReReadCloser struct { + io.ReadCloser + restartBuffer +} + +// NewReReadCloser return a initialized ReReadCloser +func NewReReadCloser(rc io.ReadCloser) *ReReadCloser { + return &ReReadCloser{ReadCloser: rc} +} + +func (rc *ReReadCloser) Read(p []byte) (n int, err error) { + return rc.restartBuffer.Read(rc.ReadCloser, p) +} diff --git a/screenshot.png b/screenshot.png new file mode 100644 index 0000000000000000000000000000000000000000..93c8fb1f5589278df5189f80bd0f356cd6279695 GIT binary patch literal 222449 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 literal 0 HcmV?d00001 diff --git a/vercheck.go b/vercheck.go new file mode 100644 index 0000000..c8dbe4a --- /dev/null +++ b/vercheck.go @@ -0,0 +1,52 @@ +package main + +import ( + "context" + "fmt" + "os/exec" + "strings" + "time" + + "github.com/google/go-github/v53/github" + "github.com/wader/goutubedl" +) + +const ytdlpVersionCheckTimeout = time.Second * 10 + +func ytdlpVersionCheck(ctx context.Context) (latestVersion, currentVersion string, err error) { + client := github.NewClient(nil) + + release, _, err := client.Repositories.GetLatestRelease(ctx, "yt-dlp", "yt-dlp") + if err != nil { + return "", "", fmt.Errorf("getting latest yt-dlp version: %w", err) + } + latestVersion = release.GetTagName() + + out, err := exec.Command(goutubedl.Path, "--version").Output() + if err != nil { + return "", "", fmt.Errorf("getting current yt-dlp version: %w", err) + } + + currentVersion = strings.TrimSpace(string(out)) + return +} + +func ytdlpVersionCheckGetStr(ctx context.Context) (res string, updateNeededOrError bool) { + verCheckCtx, verCheckCtxCancel := context.WithTimeout(ctx, ytdlpVersionCheckTimeout) + defer verCheckCtxCancel() + + var latestVersion, currentVersion string + var err error + if latestVersion, currentVersion, err = ytdlpVersionCheck(verCheckCtx); err != nil { + return errorStr + ": " + err.Error(), true + } + + updateNeededOrError = currentVersion != latestVersion + res = "yt-dlp version: " + currentVersion + if updateNeededOrError { + res = "📢 " + res + " 📢 Update needed! Latest version is " + latestVersion + " 📢" + } else { + res += " (up to date)" + } + return +} diff --git a/yt-dlp-telegram-bot.code-workspace b/yt-dlp-telegram-bot.code-workspace new file mode 100644 index 0000000..362d7c2 --- /dev/null +++ b/yt-dlp-telegram-bot.code-workspace @@ -0,0 +1,7 @@ +{ + "folders": [ + { + "path": "." + } + ] +} \ No newline at end of file