diff --git a/README.md b/README.md index 9f028bf..48bb1d4 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,39 @@ # go-musicbot -A lightweight Discord music bot written in go with minimal dependencies. Optimized for low CPU (not RAM) usage and responsive playback. Directly uses youtube-dl and ffmpeg for downloading media. \ No newline at end of file +A lightweight Discord music bot written in go with minimal dependencies. + +Optimized for low CPU (not RAM) usage and responsive playback. + +Directly uses youtube-dl and ffmpeg for downloading media. + +## Building from source + +- Make sure to have [Go (Golang)](https://golang.org) installed. + +- Clone the repo: `git clone 'https://git.nobrain.org/r4/go-musicbot.git' && cd go-musicbot`. + +- Let Go install all library dependencies: `go mod tidy`. + +- Build the program: `go build`. + +## Running the binary + +- Run the binary once to generate `config.json`: `./dcbot`. + +- Make sure to have [ffmpeg](https://ffmpeg.org/) installed (basically every Linux/BSD distro should have a package for it). + +- Make sure to have a **RECENT** version of [youtube-dl](https://yt-dl.org/). If your distro doesn't package a recent version, see the section titled "Obtaining a recent youtube-dl binary". + +- In `config.json`, find the line that says `"token"`. In that line, change the text that says `"insert your discord bot token here"` to whatever your bot token is (just look it up if you don't know how to get one). Remember to keep the `""` sorrounding the token. + +## Setup + +### Obtaining a recent youtube-dl binary + +Some distributions like Debian don't ship a very recent version of youtube-dl, but there is a simple solution for running this bot nonetheless. + +- Locally download the latest youtube-dl version **into the cloned repo**: `wget https://yt-dl.org/downloads/latest/youtube-dl`. + +- In `config.json`, look for the line that says `"youtube-dl_path"`. In that line, change the value that says `"youtube-dl"` to `"./youtube-dl"`. + +- Save and you're done. The bot should now look for youtube-dl locally instead of system-wide. \ No newline at end of file