A simple Discord music bot written in Go
Branch: master
Clone or download
Latest commit 51b0836 Mar 24, 2016
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
assets init Mar 4, 2016
scripts update readme and tests Mar 4, 2016
.dockerignore init Mar 4, 2016
.gitignore init Mar 4, 2016
.travis.yml update travis Mar 7, 2016
Dockerfile fix dockerfile Mar 7, 2016
LICENSE init Mar 4, 2016
Makefile minor updates Mar 24, 2016
README.md update README Mar 7, 2016
config.example.json init Mar 4, 2016
glide.lock init Mar 4, 2016
glide.yaml minor updates Mar 24, 2016
main.go minor updates Mar 24, 2016
pcm.go cleanup Mar 7, 2016
voice.go cleanup Mar 7, 2016
youtube.go update docker file Mar 5, 2016

README.md

Speakerbot

Build Status Go Walker Go Report Card ImageLayers

Speakerbot is a multiserver music bot for Discord written in Go. Supports Youtube links and querying Youtube, as well as on the fly converting resulting in instant playback (no wait times between songs!).

Commands

  • !play - Queues/Plays Youtube link, or searches Youtube and picks the first result
  • !skip - Skips current track
  • !stop - Stops playing and clears queue
  • !help - Sends a message in text channel with the above commands

Installation

Speakerbot requires both ffmpeg and opus-tools to be installed locally and available in PATH. Currently tested with Go 1.6 on OSX.

go get github.com/dustinblackman/speakerbot
make

A configuration file is available to plugin your Discord email and password, as well as a Google API key that can search Youtube. You can either rename the config.example.json to config.json, or copy/paste the following.

{
  "email": "",
  "password": "",
  "googleKey": ""
}

Lastly, start Speakerbot

./speakerbot

Docker

An automated docker build is available here. You can boot it up with docker-compose like so as an example.

speakerbot:
  image: dustinblackman/speakerbot
  environment:
    EMAIL:
    PASSWORD:
    GOOGLEKEY:

Contribute/Development

If you wish to contribute and add features to Speakerbot, feel free! This app was just a practice app to begin learning Go, so there won't be very much (or any at all) future development from myself. For a more full and feature packed bot, check out Gravebot.

Make sure to run make test before submitting a PR.

License

MIT