Skip to content

star-lord-29/Tidal-DL-Telegram

 
 

Repository files navigation

Tidal-DL-Bot-TG

Telegram bot to download Songs from Tidal.

Features

  • Download Tracks/Albums/Mix/Playlist from Tidal
  • Quality available upto Master-FLAC
  • Search songs inline using Tidal-API
  • Store downloaded songs to Channel/Group
  • Bot can configured for Public or Private use
  • Index Channel Feature for avoiding duplicate and search option

⚠️ Download Feature Won't Work Without A Tidal Premium Account ⚠️

Heroku Deploy

Use the below button to deploy the bot in Heroku.

Deploy

Koyeb Deploy

Use the below button to deploy the bot in Koyeb.

Deploy to Koyeb

  • Fill all the Variables (In Environment Variable Section)
  • For Database URL use Heroku Postgres or ElephantSQL

Deploy Locally

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
  • For Database URL use Heroku Postgres (if on Heroku) or ElephantSQL

Variables Details

-> 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)
  • USER_SESSION - Telegram account session string. (Generate from HERE or use any other Pyrogram Session Generator)
  • AUTH_CHAT - List of Chat ID where Bot will work.
  • ADMINS - List of User ID who has full access to the Bot.
  • 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.
  • OWNER_USERNAME - Owner of the bot username (used for contact button, use any other username as you like)
  • 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 (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 direcly

Bot Commads Details

Info about available commands for the bot

Copy paste these commands in BotFather

If you want to change the default commands go to __init.py__ Line 27

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

Tidal Config Details

Tidal Download Settings can be configured by editing values in .tidal-dl.json

The values can be as follows :-

  • 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)

It is recommened not to change other values in the JSON

JOIN SUPPORT GROUP FOR HELP

Credits

Yarronzz - For his Tidal-dl CLI

About

Telegram bot to download songs from Tidal

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 99.9%
  • Other 0.1%