@foxscore/dytdl

1.1.0 • Public • Published

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

Package Sidebar

Install

npm i @foxscore/dytdl

Weekly Downloads

1

Version

1.1.0

License

GPL-3.0-or-later

Unpacked Size

52.7 kB

Total Files

9

Last publish

Collaborators

  • foxscore