Telegram bot to download Songs from Tidal.
⚠️ Download Feature Won't Work Without A Tidal Premium Account ⚠️
Use the below button to deploy the bot in Heroku.
Use the below button to deploy the bot in Koyeb.
Rename example.env to .env and fill all those required variables.
virtualenv -p python3 VENV
. ./VENV/bin/activate
pip install -r requirements.txt
python -m bot
-> Required variables
TG_BOT_TOKEN
- The Telegram Bot Token. (Get from @BotFather)APP_ID
- Telegram account API ID. (Get it from Telegram)API_HASH
- Telegram account API HASH String. (Get it from Telegram)AUTH_CHAT
- List of Chat ID where Bot will work. (Seperated by space)ADMINS
- List of User ID who has full access to the Bot. (Seperated by space)ALLOW_DUMP
- Whether to store the downloaded files in any group/channel. (True/False)IS_BOT_PUBLIC
- Whether to allow bot usage for public. (True/False)TIDAL_REGION
- Country code for Tidal Song search. (In international format eg:IN)TIDAL_SEARCH_LIMIT
- Limit the number of search results.BOT_USERNAME
- Username of your bot.DATABASE_URL
- Postgres Database URL-> Optional variables
LOG_CHANNEL_ID
- Group/Channel ID where bot stores all the downloaded files (Mandatory if set ALLOW_DUMP = True)AUTH_USERS
- List of User ID who can use the bot (Seperated by space) (Only needed if IS_BOT_PUBLIC = False)INLINE_THUMB
- Logo to be shown in inline search results. (Use CDN links for better performance)ENV
- Set to True if using ENV Variables.SEARCH_CHANNEL
- ID of channel/gropup to search downloaded/other songs files direclyUSER_SESSION
- Telegram account session string. (Required for Searching and Indexing to work) (Generate from HERE or use any other Pyrogram Session Generator)MUSIC_CHANNEL_LINK
- For providing direct join link to the Music Storage Channel while searching for songs inline.ALLOW_OTHER_LINKS
- If to allow automatic conversion of other music platform links to Tidal links while downloading. (Current API has a limit of 10 conversion per minute) (True/False)MENTION_USERS
- If to mention users for their corresponding tasks posted. (True/False)ANIT_SPAM_MODE
- Limits to one tasks per user. Also applies for groups where only one user can download at a time. (True/False)start - Start the bot
help - Shows Help Message
download - Download songs from Tidal
auth - Authorise a chat/user
settings - Open Settings Panel [ADMIN ONLY]
add_sudo - Add a user as Admin [ADMIN ONLY]
shell - Run shell cmds [ADMIN ONLY]
index - Index Search channel with Songs [ADMIN ONLY]
authed - Shows list of chats where bot is allowed to run
addLyrics
- Whether to add lyrics to the song
apiKeyIndex
- Index number of the API
Available API Indexes are:-\
0 - Fire TV (Formats:- Normal/High/HiFi)\
1 - Fire TV (Formats:- Master Only. For songs without master quality will give error)\
2 - Android TV (Formats:- Normal/High/Hifi)\
3 - TV (Formats:- Normal/High/HiFi/Master)\
4 - Android Auto (Formats:- Normal/High/HiFi/Master)
audioQuality
- Can be set to any of these :- Normal/High/Hifi/Master
downloadPath
- Where songs will be downloaded (set this to same as in the bot variable)