Downloads Telegram sticker packs and converts them to various formats.
- Requires Python 3.6+. Install dependencies:
pip install requests python-dotenv tqdm Pillow
- Create
.env
file with your Telegram bot token:
TELEGRAM_BOT_TOKEN=1234567890:ABCdefGHIjklMNOpqrsTUVwxyz123456789
To get a token:
- Message @BotFather
- Send
/newbot
- Follow prompts
- Copy provided token
Download sticker pack:
python sticker_downloader.py https://t.me/addstickers/packname
Convert formats while downloading:
# Convert static stickers to PNG
python sticker_downloader.py https://t.me/addstickers/packname --static-format PNG
# Convert animated stickers to Lottie JSON
python sticker_downloader.py https://t.me/addstickers/packname --convert-tgs
# Convert both
python sticker_downloader.py https://t.me/addstickers/packname --convert-tgs --static-format PNG
Static stickers:
WEBP
- Default format, maintains transparencyPNG
- Lossless with transparencyJPEG
- Smallest file size, no transparency
Animated stickers:
TGS
- Default formatJSON
- Lottie format (web-compatible)
downloads/
└── Pack Name/
├── pack_info.txt # Pack details
├── 001_👋.png # Static sticker
├── 002_😊.webp # Static sticker (original)
└── 003_🎉.json # Animated sticker (if converted)
Required:
<sticker_pack_url> Pack URL from Telegram
Optional:
--static-format FORMAT Convert static stickers (WEBP/PNG/JPEG)
--convert-tgs Convert animated stickers to Lottie JSON
- Failed conversions retain original format
- Failed downloads are skipped
- Progress bar shows current status
If you get "Token not found":
- Check
.env
file exists - Verify token format
- Ensure
.env
is in script directory
If downloads fail:
- Check internet connection
- Verify pack URL is correct
- Confirm pack is public
MIT