Update 'README.md'

This commit is contained in:
r4 2021-07-28 18:02:58 +02:00
parent b80f163865
commit e1fe06f631

View File

@ -1,3 +1,39 @@
# go-musicbot # 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. 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.