Skip to content

kpncio/virtuoso

Repository files navigation

Virtuoso

(Node.js, Discord.js, YT-DLP)

KPNC Technology: Virtuoso is a simple music bot for Discord. It utilizes the popular Discord.js and YT-DLP libraries to play YouTube audio in your Discord server. Starting your own instance of Virtuoso is easy and only requires a computer and a Discord account.

Installation

For installation on a Linux (Ubuntu based) servers...

  • Install necessary base dependencies:

    • Run "sudo bash install.sh"
  • Duplicate or rename ".env.example" to ".env" and edit the following properties:

    • TOKEN ( Your bot's Token... Tutorial )
    • CLIENT_ID ( Your bot's Client ID... Tutorial )
    • GUILD_ID ( Your server's Guild ID... Tutorial )
  • Finally, create the service files (see unit/readme for more information)...

  • Depending on installation/executed permissions, the YT-DLP may not have the correct permissions...

    • You can use chmod (or similar utilities) to give YT-DLP executable perms

For installation on a Windows (10/2019+) servers...

  • Install Node.js (this will also install NPM)

  • Opening your terminal (command prompt/powershell)

    • Right-click while holding Shift in the Virtuoso folder and select the option to open a terminal, command prompt, or powershell window in that directory
  • Install necessary Node dependencies:

    • Run "npm i --production" in the terminal windows
  • Duplicate or rename ".env.example" to ".env" and edit the following properties:

    • TOKEN ( Your bot's Token... Tutorial )
    • CLIENT_ID ( Your bot's Client ID... Tutorial )
    • GUILD_ID ( Your server's Guild ID... Tutorial )
  • If you would like the program to automatically start:

    • Create shortcut of "start.bat" by right-clicking and selecting "Create Shortcut"
    • You can rename this shortcut to whatever you want
    • Move the shortcut to the "C:\ProgramData\Microsoft\Windows\Start Menu\Programs\StartUp" directory

Operation

Covering both Linux and Windows environments...

  • Invite your bot to server(s)... Tutorial
  • After adding your bot to any servers, you must register your slash commands by running "node deploy.js" in the terminal
  • Start your bot:
    • On Linux run "sudo service virtuoso start"
    • On Windows open the "Start.bat" script
  • Bot status:
    • On Linux run "sudo service virtuoso status"
    • On Windows bring your terminal window to the foreground
  • Stop your bot:
    • On Linux run "sudo service virtuoso stop"
    • On Windows close the terminal window
  • Discord Commands:
    • /play: Plays the linked (or searched) YouTube audio
    • /skip: Skips the current song
    • /pause: Pauses music playback
    • /resume: Resumes music playback
    • /stop: Disconnects the bot and resets audio state
    • /loop: Toggles looping feature
    • /about: Displays an overview of Virtuoso
    • /ping: Tests your slash command