https://github.com/arthurlt/vidfetch_bot
This bot watches messages for URLs then passes those to yt-dlp for processing and download. It then replies to the message containing the URL with the video embedded.
https://github.com/arthurlt/vidfetch_bot
aiogram bot python telegram telegram-bot youtube-dl yt-dlp
Last synced: 3 months ago
JSON representation
This bot watches messages for URLs then passes those to yt-dlp for processing and download. It then replies to the message containing the URL with the video embedded.
- Host: GitHub
- URL: https://github.com/arthurlt/vidfetch_bot
- Owner: arthurlt
- License: gpl-3.0
- Created: 2022-04-16T04:45:38.000Z (about 4 years ago)
- Default Branch: main
- Last Pushed: 2026-01-17T04:52:06.000Z (5 months ago)
- Last Synced: 2026-01-17T17:22:12.300Z (5 months ago)
- Topics: aiogram, bot, python, telegram, telegram-bot, youtube-dl, yt-dlp
- Language: Python
- Homepage:
- Size: 399 KB
- Stars: 2
- Watchers: 1
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# VidFetch_Bot
Are you sick of your friends sending you links to TikTok, Instagram, and YouTube only to have to navigate the maze of app download and account signup redirects and popups?
Just add this bot to your group's Telegram meme chat. (Or if they're using a better messaging service just DM the bot the links.)
## How to run
Examples of how to run the bot
### Docker
**TODO**
### Quadlet
If the system you're wanting to run on has Podman>=5 installed you can use [Quadlets](https://docs.podman.io/en/latest/markdown/podman-systemd.unit.5.html). Create a file `vidfetch-bot.container` and place it in `/etc/containers/systemd/`.
```ini
[Unit]
Description=A Telegram bot
[Container]
Image=ghcr.io/arthurlt/vidfetch_bot:latest
Environment="BOT_TOKEN="
Pull=newer
#AutoUpdate=registry
[Service]
Restart=always
TimeoutStartSec=300
[Install]
WantedBy=multi-user.target default.target
```
### Kubernetes
**TODO**
### systemd
**TODO**
## Develop
Supply your bot's API token via environment variable `BOT_TOKEN`.
### TODO:
- [x] Rewrite to use `yt-dlp` as library
- [x] Move Docker image build/publish to `workflow.yaml`
- [ ] Improve README
- [ ] Add/improve docstrings
- [ ] Add (more) unit tests
- [ ] Improve CI vs CD workflows
- [ ] Enable 'strict' checking for `pyright` (unsure how to handle `yt-dlp`)
- [ ] Shrink container image