Skip to content

RotesBlatt/disco-salad

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

82 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Table of Contents
  1. Getting Started
  2. Roadmap
  3. Acknowledgements

Getting Started

To get a local copy up and running follow these simple example steps.

Prerequisites

This is an example of how to list things you need to use the software and how to install them.

  • npm
    npm install npm@latest -g
  • node v16.9.x or above
    npm install node@latest
    To make sure you have the correct version of node type:
    node -v #should be v.16.18.0 or above

Installation

  1. Clone the repo
    git clone https://github.com/RotesBlatt/disco-salad.git
    cd disco-salad
  2. Install NPM packages
    npm install
  3. Create a .env file with these variables
    BOT_TOKEN=YOUR_DISCORD_BOT_PRIVATE_TOKEN
    CLIENT_ID=YOUR_DISCORD_BOT_CLIENT_TOKEN
    OPENAI_API_KEY="YOUR_OPEN_AI_API_KEY"
  4. Run the command deploy file
    npx ts-node .\src\deploy-commands.ts
  5. Start the discord bot
    npx ts-node .\src\index.ts

(back to top)

Usage

First, invite the bot to your server by going to the Discord Developer Portal and selecting your application (bot). Then on the left, go to the tab "OAuth2" and select "URL Generator". On the right side select the "bot" scope and give it the "Administrator" permissions. Now you'll see a generated URL which you can copy into a new tab and invite the bot to a server where you have administrator privileges.

After inviting the bot to the server, you can start the party! Just get into a voice channel and type your first command into any text channel!

  • /play search: https://www.youtube.com/watch?v=dQw4w9WgXcQ

    Soon after entering the command, you'll notice the bot joining your channel and start playing the music. You can also enter a spotify track link or just search for keywords by replacing the link with something like this: "marc rebillet edeka". Or if you just want to hear a song from a genre but don't want to pick one by yourself, ask chat-gpt for a song by using the optional "suggest" in the command

  • /skip

    Skips the currently playing song and starts playing the next one in the queue. The optional parameter "to" can skip to a specific position in the queue

  • /loop

    Repeat the currently playing song until you're bored of hearing that song, then use the command again to stop the looping

  • /np

    Shows you the currently playing song with some extra information about the song

  • /queue

    Shows you the current song queue as well as the currently playing song

  • /stop

    Stops the bot from playing the music and clears it's entire song queue. If you want the bot to leave as well, then type "/leave" to get the same result be he also leaves your voice channel

  • /settings

    This command has a lot of different options which help you control the user behavior of the bot. Only users with administrator permission are able to use this command so that no user is able to change the behavior of the bot. If you want to reset your server settings, type "/reset-settings" into a channel and all your settings will be reset.

There are more features which you can see by typing "/" in a text-channel. Then clicking on the little icon from the bot enables you to scroll through the list of commands which exist on the bot.

(back to top)

Roadmap

  • Basic functionality
    • Playing songs from a YT-link
    • Song queue for the music
    • Pausing and resuming the music
    • Skipping the current playing song
    • Stopping the currently playing song and clearing the song queue
  • Expanding the basics
    • Search for song by searching for the given title (ytsr)
    • Enqueue songs by YT-link to playlist (ytpl)
    • Current song looping
    • Song queue looping
    • Show the current playing song to the user
    • Show the song queue to the user
    • Remove songs at specific index from the queue
    • Skip to specific song position in queue
  • Create server settings
    • Listen to only one text-channel for commands
    • Join only one specific channel
    • Restrict bot from changing channel when doing (/join)
    • Only users with certain permissions can use the bot
    • Should show current playing song whenever it starts playing
    • How many songs should be retrieved from a playlist when linking a playlist
    • Play a song from a url before leaving the voicechannel after 5 minutes of inactivity
  • Use embeds for user interaction
  • Spotify streaming option (kinda)
  • Ask chat-gpt for a song suggestion by giving it a topic/theme
  • Use logger for logging information to the console
  • Track stats
    • Amount of times a song has been played
    • Most played artist
    • Who requested the song

(back to top)

Acknowledgements

Thanks to Smn279#4383 for the idea of the skipping to command

(back to top)

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published