1.1.0 • Published 2 years ago

@foxscore/dytdl v1.1.0

Weekly downloads
-
License
GPL-3.0-or-later
Repository
github
Last release
2 years ago

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"
}