A powerful Telegram bot that lets you download music and media from various platforms in high quality.
- 🎧 Download music in 320kbps quality
- 🔗 Supports multiple platforms:
- Music: Spotify, YouTube, SoundCloud, Apple Music
- Media: Instagram, Pinterest, Facebook, TikTok, Twitter, Threads
- 📥 Works with tracks, albums, and playlists
- 🤖 Telegram inline support and command mode
- 💾 Built-in cache for faster responses
- 🐳 Docker-ready for easy deployment
- 🔐 Secure environment-based configuration
Before you begin, make sure you have:
- Python 3.10 or higher
- A Telegram Bot Token from @BotFather
- An API Key from @FallenApiBot
- Required system dependencies:
- ffmpeg (for audio processing)
- tmux (for process management)
# 1. Install system dependencies
sudo apt-get install git python3-pip ffmpeg vorbis-tools tmux -y
# 2. Install uv (Python package manager)
pip3 install uv
# 3. Clone the repository
git clone https://github.com/AshokShau/SpTubeBot
cd SpTubeBot
# 4. Create virtual environment
uv venv
# 5. Activate virtual environment
source .venv/bin/activate
# 6. Install dependencies
uv pip install -e .
# 7. Copy and edit environment file
cp sample.env .env
nano .env
# 8. Run the bot
start
# 1. Build the Docker image
docker build -t sp-tube-bot .
# 2. Run the container (Make sure to create a .env file first)
docker run -d --name songbot --env-file .env sp-tube-bot
Create a .env
file with the following variables:
API_ID=your_api_id
API_HASH=your_api_hash
TOKEN=your_telegram_bot_token
API_KEY=your_fallen_api_key # Get from @FallenApiBot
API_URL=https://tgmusic.fallenapi.fun
DOWNLOAD_PATH=database
LOGGER_ID=-1002434755494
- Start the bot using either manual or Docker deployment
- Search for the bot in Telegram and start a chat
- You can use the bot in two ways:
- Inline mode: Type
@your_bot_name
in any chat and search for music - Command mode: Send commands directly to the bot
- Inline mode: Type
Available commands:
/start
- Start the bot/help
- Get help and command list/song
- Download a song/playlist
- Download a playlist- Just send a link to the bot and it will download the media
This project is licensed under the MIT License - see the LICENSE file for details.
- Fork the repository
- Create your feature branch (
git checkout -b feature/AmazingFeature
) - Commit your changes (
git commit -m 'Add some AmazingFeature'
) - Push to the branch (
git push origin feature/AmazingFeature
) - Open a Pull Request
If you encounter any issues or have questions:
- Check the issues page
- Create a new issue if your problem isn't listed
- For general questions, you can also message @AshokShau on Telegram
This bot is intended for personal use and educational purposes. Please respect copyright laws and terms of service when using this bot.