50 lines
2.1 KiB
Markdown
50 lines
2.1 KiB
Markdown
# !!! Repo archived since I have rewritten the bot: [https://github.com/xypwn/dischord](https://github.com/xypwn/dischord) !!!
|
|
|
|
---
|
|
|
|
# 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.
|
|
|
|
## 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.
|
|
|
|
## Notes
|
|
|
|
- youtube-dl might cause some problems with certain Unicode characters if the locale isn't configured correctly (messages like "Adding 0 tracks to queue." may arise). Quick fix: `sudo sh -c "echo 'LC_ALL=\"en_US.UTF-8\"' >> /etc/environment"`.
|
|
|
|
## 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`.
|
|
|
|
- Make youtube-dl executable `chmod +x ./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.
|