@foxscore/dytdl
v1.1.0
Published
A Discord bot for downloading YouTube videos as MP3/MP4 files
Downloads
1
Maintainers
Readme
DYTDL - DiscordYouTubeDownload
A Discord bot for downloading YouTube videos as MP3/MP4 files
Requirements
For this bot to work you will need the following
- A Google account (for the Google Cloud API)
- A Discord account (for the application)
- A server where you can both host your app and the content downloaded
Setup
Make sure that the following tools are installed on your target machine:
- git
- ffmpeg
- nodeJs (version >= 16.6.0)
Have a web-server ready (Apache, NGINX, etc.) that disallows directory browsing, access to the
.htaccess
file, and access to all files ending with.meta
, for the directory where you intent to store the downloaded audio/video files
Google Cloud API
- Head to the Google Cloud Console
- Create a new application (if necessary)
- Create a new
API key
and write it down
Discord
- Head over to your Discord applications
- Create a new application
- Write down your Application ID
- Head to the Bot section and click on the
Add Bot
button - Copy your token and write it down as well
- Customize the name/icon to your liking
Installation
- Open a terminal
- Run the following commands in order
git clone https://github.com/foxscore/dytdl.git
cd dytdl
npm i
- Create a config.json file with the following variables: Template: config.json | | | |--------------------:|:---------------------------------------------------------| | apiKey | Google Cloud Application API Key | | storageLocation | Where the files should be downloaded to | | contentHost | The base URL from where to access the downloaded content | | clientId | The ID of your Discord application | | token | The token of your Discord bot | | inviteLink | The invite URL for your bot (unused) |
- Run
node index.js
to start it up
Invite it
Add your client id at the end of the following URL, open it in your browser, and add the app to whichever server you want.
https://discord.com/oauth2/authorize?scope=applications.commands&permissions=0&client_id=
Templates
config.json
{
"apiKey": "GOOGLE_CLOUD_API_KEY",
"storageLocation": "STORAGE_LOCATION",
"contentHost": "BASE_URL",
"clientId": APP_ID,
"token": "APP_TOKEN",
"inviteLink": "INVITE_LINK"
}