• Stars
    star
    156
  • Rank 232,572 (Top 5 %)
  • Language
    Kotlin
  • License
    MIT License
  • Created over 3 years ago
  • Updated about 2 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Simple self-contained Discord music bot

Ukulele

...and his music was electric.

Ukulele is a bot made by the creator and collaborators of FredBoat. The concept is to replicate FredBoat while keeping it simple. The original stack is engineered for serving millions of servers, and is thus too complex to selfhost.

The bot is self-contained and only requires Java 11 to run.

This is currently work-in-progress.

Features

  • Basic player commands (::play, ::list, ::skip, ::shuffle)
  • Volume command
  • Zero-maintenance embedded database

Host it yourself

Manual

  • Install Java 11
  • Make a copy of ukulele.example.yml and rename it to ukulele.yml
  • Input the bot token (guide)
  • Run ./ukulele to build and run the application (Windows users use the .bat files via commandline)

Using Docker

Requirements

  • Docker (Engine: 18.06.0+)
  • Docker-Compose

Running

# Create DB directory and own it to 999
mkdir db && chown -R 999 db/

# Copy ukulele config file
cp ukulele.example.yml ukulele.yml
# Open ukulele.yml and make config changes

# Now simply run run docker-compose 
docker-compose up -d

To run the container in detached mode simply add -d to the arguments of the run command.

AUR Package AUR version

https://aur.archlinux.org/packages/ukulele-git/

This Arch package provides a systemd service for ukulele, and places the files for ukulele in the correct places according to the Arch Package Guidelines. This installation method is only relevant if you have an arch-based system.

  • Install the package either using an AUR helper (paru, yay, etc), or following the guide on the Arch Wiki.
  • Edit the config file (/etc/ukulele/ukulele.yml) as required.
    • As noted when installing the package, the discord bot token must be set in the config file (guide)
  • Start/enable the ukulele.service as required (wiki)

Contributing

Pull requests are welcome! Look through the issues and/or create one if you have an idea.

Please read CONTRIBUTING.md

Make your own changes (More info soon)

  • Change code
  • ./gradlew clean build

More Repositories

1

Lavalink

Standalone audio sending node based on Lavaplayer.
Kotlin
1,126
star
2

archived-bot

A Discord music bot serving music in over 3 million discord servers
Kotlin
489
star
3

Lavalink-Client

The classic Lavalink client for bots written for JVM using JDA or other frameworks
Java
40
star
4

Lavamark

Lavaplayer server benchmarker. How many lavaplayer tracks can your server handle playing at once?
Java
21
star
5

fred.moe

fred.moe is a bare-bones file hosting site I made that can be easily set up on other servers.
Java
15
star
6

blog

Simple statically generated personal blogging site
JavaScript
5
star
7

lavalink-plugin-template

Java
5
star
8

GensokyoBot

Simple stream music bot for Discord. Each instance is dedicated to one stream (by default GensokyoRadio)
Java
5
star
9

atombird

Aims to be an online RSS and Atom feed reader
Kotlin
3
star
10

Screeps

Personal repository of my Screeps scripts. Feel free to look around for inspiration, but please remember that the fun is in writing your own code.
JavaScript
3
star
11

JCA

cleverbot.io library for Java.
Java
2
star
12

Lost

Journey for the Last Spellcard. Written for the Touhou Fan Game Jam 2018 with create.js
JavaScript
1
star
13

JMask

JMask is a very simple tool for creating hues of mask files in large bulk from the command line.
Java
1
star
14

odense-pride

CSS
1
star
15

Dike

Discord gateway proxy
Java
1
star
16

freyaphotos

Kotlin
1
star
17

arbjerg.dev

HTML
1
star
18

memtest

Memory test for running JDA shards
Kotlin
1
star
19

apbot

Discord webhook-based Archipelago tracker
Kotlin
1
star
20

red-display

Kotlin
1
star
21

advent-of-code

Kotlin
1
star
22

kaiju

C
1
star
23

way-nix

Nix
1
star
24

rabbit-error-handling

Kotlin
1
star
25

FredBoat-Bootloader

Booloader for FredBoat
Java
1
star
26

osu-carbon

osu! stats collection for Graphite
Java
1
star
27

EnergyMonitor

Monitors the energy grid in Denmark. Used for a school project.
Java
1
star
28

repo.arbjerg.dev

Kotlin
1
star
29

dotfiles

Personal dotfiles for Arch/awesomewm environment
Lua
1
star
30

Node-Console-Game

A school project
JavaScript
1
star
31

FredSelfBoat

Personal Discord bot for my account.
Java
1
star
32

hackweek2019

Kotlin
1
star