Code Monkey home page Code Monkey logo

tidal-dl-telegram's Introduction

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

Credits

Yarronzz - For his Tidal-dl CLI

tidal-dl-telegram's People

Contributors

vinayak-7-0-3 avatar sayeed205 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.