Update Getting Started

James Brotosky
2025-12-31 12:02:37 -05:00
parent 81f52f5227
commit e35eaca2db
+84 -19
@@ -1,31 +1,96 @@
#### You will need to create a bot in Discord for this to work. This is not an application you can add from Discord's App Store. # Getting Started with RhythmWorks
**RhythmWorks requires a custom Discord bot to function. This bot cannot be added from Discord's App Store - it must be created manually through the Discord Developer Portal**
Follow the steps below to setup the bot and required dependencies.
## Prerequisites
Before getting started, ensure you have:
- A Discord account with permissions to add bots to a server
- Access to the Discord Developer Portal
- RhythmWorks downloaded to your system, for your current operating system - It currently supports Windows and Linux
- yt-dlp, found later in these instructions, for your current operating system
## Create a Discord Application
1. Go to the [Discord Development Portal](https://discord.com/developers/applications) 1. Go to the [Discord Development Portal](https://discord.com/developers/applications)
2. Click New Application 2. Click New Application
3. Give it a name 3. Give it a name
4. Go to the OAuth2 Section
- Check mark the "bot" option under "OAuth2 URL Generator" ## Configure OAuth2 and Bot Permissions
1. Open your application in the portal and navigate to OAuth2
2. Scroll down to the OAuth2 URL Generator
3. Under **Scopes**, check:
- "bot"
![botselection](https://git.racooncity.org/brotoskyj/RhythmWorks/raw/branch/master/images/1.png) ![botselection](https://git.racooncity.org/brotoskyj/RhythmWorks/raw/branch/master/images/1.png)
- Enable the Following Bot Permissions (Next Section) 4. Under **Bot Permission**, enable the following:
- Send Messages - Send Messages
- Read Message History - Read Message History
- Connect - Connect
- Speak - Speak
![permissionsselection](https://git.racooncity.org/brotoskyj/RhythmWorks/raw/branch/master/images/2.png) ![permissionsselection](https://git.racooncity.org/brotoskyj/RhythmWorks/raw/branch/master/images/2.png)
- Copy the Generated URL and paste it into your browser
## Link Newly Created Bot to your Discord Server
1. Copy the Generated URL and paste it into your browser
- This will automatically launch discord and allow you to add the bot to your server - This will automatically launch discord and allow you to add the bot to your server
![copyURL](https://git.racooncity.org/brotoskyj/RhythmWorks/raw/branch/master/images/3.png) ![copyURL](https://git.racooncity.org/brotoskyj/RhythmWorks/raw/branch/master/images/3.png)
5. Go to the "Bot" Section
- Click "Reset Token" and copy it ## Generate and Save the Bot Token
* **You will need to save this in a secure place. This current version does not have a save functionality and you will have to type it in every time** 1. In the Developer Portal, click **bot** on the left hand side
![tokenReset](https://git.racooncity.org/brotoskyj/RhythmWorks/raw/branch/master/images/4.png) 2. Click **Reset Token**
- When you start the bot, paste the token into the prompt 3. Copy the token and store it securely
6. Enable all three privileged gateway intents 4. When you start the bot, paste the token into the prompt to authenticate and connect the bot
> **IMPORTANT:**<br>
> RhythmWorks currently does **not** save your bot token.<br>
> You will need to manually paste the token each time you start the program<br>
> A fix for this is coming in the next release
![botToken](https://git.racooncity.org/brotoskyj/RhythmWorks/raw/branch/master/images/4.png)
## Enable Privileged Gateway Intents
Still in the **Bot** section:
1. Enable all three privileged gateway intents:
- Presence Intent
- Server Members Intent
- Message Content Intent
![intents](https://git.racooncity.org/brotoskyj/RhythmWorks/raw/branch/master/images/5.png) ![intents](https://git.racooncity.org/brotoskyj/RhythmWorks/raw/branch/master/images/5.png)
6. Download Necessary Files
- Windows: ## Download Necessary Files
- Download [yt-dlp (Windows)](https://git.racooncity.org/brotoskyj/RhythmWorks/src/branch/master/assets/yt-dlp.exe) yt-dlp is a feature-rich command-line audio/video downloader with support for thousands of sites. The project is a fork of youtube-dl based on the now inactive youtube-dlc.
- Linux:
- Download [yt-dlp (Linux)](https://git.racooncity.org/brotoskyj/RhythmWorks/src/branch/master/assets/yt-dlp) **Download from the links below, RhythmWorks is designed to work with a specific version of yt-dlp. You can find more information on yt-dlp [here](https://github.com/yt-dlp/yt-dlp).**
7. Place these files in the same directory as RhythmWorks - [Windows - yt-dlp](https://git.racooncity.org/brotoskyj/RhythmWorks/raw/branch/master/assets/yt-dlp.exe)
8. Keep the bot running while you want music to play - [Linux - yt-dlp](https://git.racooncity.org/brotoskyj/RhythmWorks/raw/branch/master/assets/yt-dlp)
9. **IMPORTANT - You will need to !stop the currently playing track or wait for the track to finish before you start playing a new song. If you don't, the two tracks will play overtop of each other**
## Installing Dependencies
**yt-dlp is not an installable file, it is a standalone executable to which RhythmWorks is a wrapper for.**
1. Place the downloaded yt-dlp file into the **same directory as the RhythmWorks executable**
## Running RhythmWorks
1. Necessary Modifications
- Windows
1. Right Click on the yt-dlp executable
2. Click Properties
3. Under the general tab, at the bottom, checkmark the unblock box that's next to:
>This file came from another computer and might be blocked to help protect this computer.
- Linux
1. Open the terminal of your choice
2. cd /path/to/yt-dlp
3. run
```
sudo chmod +x yt-dlp
```
2. Open the RhythmWorks executable
3. When prompted, paste in your bot token from earlier
4. RhythmWorks should say that it is successfully connected to the Discord server
## Current Limitations
#### Playback
You must either
- Stop the currently playing track using the !stop command or
- Wait for the track to naturally finish
**If you attempt to start another track while one is already playing, both tracks will play simultaneously.**