328 lines
8.5 KiB
YAML
328 lines
8.5 KiB
YAML
# MumbleDJ
|
|
# By Matthieu Grieger
|
|
# Copyright (c) 2016 Matthieu Grieger (MIT License)
|
|
# config.yaml
|
|
|
|
api_keys:
|
|
|
|
# YouTube API key.
|
|
youtube: ""
|
|
|
|
# SoundCloud API key.
|
|
# NOTE: The API key is your client ID.
|
|
soundcloud: ""
|
|
|
|
|
|
defaults:
|
|
|
|
# Default comment to be applied to bot.
|
|
# NOTE: If you do not want a comment by default, set to empty string ("").
|
|
comment: "Hello! I am a bot. Type !help for a list of commands."
|
|
|
|
# Default channel for the bot to enter upon connection.
|
|
# NOTE: If you wish for the bot to connect to the root channel, set to empty string ("").
|
|
channel: ""
|
|
|
|
# Command to use to play audio files. The two supported choices are "ffmpeg" and "avconv".
|
|
player_command: "ffmpeg"
|
|
|
|
|
|
queue:
|
|
|
|
# Ratio that must be met or exceeded to trigger a track skip.
|
|
track_skip_ratio: 0.5
|
|
|
|
# Ratio that must be met or exceeded to trigger a playlist skip.
|
|
playlist_skip_ratio: 0.5
|
|
|
|
# Maximum track duration in seconds. Set to 0 for unrestricted duration.
|
|
max_track_duration: 0
|
|
|
|
# Maximum tracks per playlist. Set to 0 for unrestricted playlists.
|
|
max_tracks_per_playlist: 50
|
|
|
|
# Is shuffling enabled when the bot starts?
|
|
automatic_shuffle_on: false
|
|
|
|
# Announce track information at the beginning of audio playback?
|
|
announce_new_tracks: true
|
|
|
|
|
|
connection:
|
|
|
|
# Address bot should attempt to connect to.
|
|
address: "127.0.0.1"
|
|
|
|
# Port bot should attempt to connect to.
|
|
port: "64738"
|
|
|
|
# Password for connecting to server.
|
|
# NOTE: If no password, set to empty string ("").
|
|
password: ""
|
|
|
|
# Username for MumbleDJ.
|
|
username: "MumbleDJ"
|
|
|
|
# Should the bot attempt an insecure connection?
|
|
# An insecure connection does not verify the certificate of the server for
|
|
# consistency. It is best to leave this on, but disable it if you are having
|
|
# issues connecting to a server or are running multiple instances of MumbleDJ.
|
|
insecure: false
|
|
|
|
# Filepath to certificate file.
|
|
# NOTE: If no certificate file is needed, set to empty string ("").
|
|
cert: ""
|
|
|
|
# Filepath to certificate key file.
|
|
# NOTE: If no key is needed, set to empty string ("").
|
|
key: ""
|
|
|
|
# Access tokens to initialize the bot with, separated by commas.
|
|
# NOTE: If no access tokens are needed, set to empty string ("").
|
|
access_tokens: ""
|
|
|
|
# Should the bot automatically attempt to retry connection to a server after disconnecting?
|
|
retry_enabled: true
|
|
|
|
# How many times should the bot attempt to reconnect to the server?
|
|
retry_attempts: 10
|
|
|
|
# How many seconds should the bot wait in-between connection retry attempts?
|
|
retry_interval: 5
|
|
|
|
|
|
cache:
|
|
|
|
# Cache songs as they are downloaded?
|
|
enabled: false
|
|
|
|
# Maximum total file size of cache directory in MiB.
|
|
maximum_size: 512
|
|
|
|
# Period of time that should elapse before a song is cleared from the cache, in hours.
|
|
expire_time: 24
|
|
|
|
# Period of time between each check of the cache for expired items, in minutes.
|
|
check_interval: 5
|
|
|
|
# Directory to store cached items. Environment variables are able to be used here.
|
|
directory: "$HOME/.cache/mumbledj"
|
|
|
|
|
|
volume:
|
|
|
|
# Default volume.
|
|
default: 0.2
|
|
|
|
# Lowest volume allowed.
|
|
lowest: 0.01
|
|
|
|
# Highest volume allowed.
|
|
highest: 0.8
|
|
|
|
|
|
admins:
|
|
|
|
# Enable admins?
|
|
# NOTE: If this is set to false, any command can be executed by any user.
|
|
enabled: true
|
|
|
|
# List of admin names.
|
|
# NOTE: It is recommended that the names in this list are registered on the
|
|
# server so that imposters cannot execute admin commands.
|
|
names:
|
|
- "SuperUser"
|
|
|
|
|
|
commands:
|
|
|
|
# Character used to designate commands from normal text messages.
|
|
# NOTE: Only one character (the first) is used.
|
|
prefix: "!"
|
|
|
|
# Below is a list of the commands supported by MumbleDJ. Each command has
|
|
# three configurable options:
|
|
# aliases: A list of names that can be used to execute the command.
|
|
# is_admin: true = only admins can execute the command, false = anyone can execute the command.
|
|
# description: Description shown for the command when the help command is executed.
|
|
add:
|
|
aliases:
|
|
- "add"
|
|
- "a"
|
|
is_admin: false
|
|
description: "Adds a track or playlist from a media site to the queue."
|
|
|
|
addnext:
|
|
aliases:
|
|
- "addnext"
|
|
- "an"
|
|
is_admin: true
|
|
description: "Adds a track or playlist from a media site as the next item in the queue."
|
|
|
|
cachesize:
|
|
aliases:
|
|
- "cachesize"
|
|
- "cs"
|
|
is_admin: true
|
|
description: "Outputs the file size of the cache in MiB if caching is enabled."
|
|
|
|
currenttrack:
|
|
aliases:
|
|
- "currenttrack"
|
|
- "currentsong"
|
|
- "current"
|
|
is_admin: false
|
|
description: "Outputs information about the current track in the queue if one exists."
|
|
|
|
forceskip:
|
|
aliases:
|
|
- "forceskip"
|
|
- "fs"
|
|
is_admin: true
|
|
description: "Immediately skips the current track."
|
|
|
|
forceskipplaylist:
|
|
aliases:
|
|
- "forceskipplaylist"
|
|
- "fsp"
|
|
is_admin: true
|
|
description: "Immediately skips the current playlist."
|
|
|
|
help:
|
|
aliases:
|
|
- "help"
|
|
- "h"
|
|
is_admin: false
|
|
description: "Outputs this list of commands."
|
|
|
|
joinme:
|
|
aliases:
|
|
- "joinme"
|
|
- "join"
|
|
is_admin: true
|
|
description: "Moves MumbleDJ into your current channel if not playing audio to someone else."
|
|
|
|
kill:
|
|
aliases:
|
|
- "kill"
|
|
- "k"
|
|
is_admin: true
|
|
description: "Stops the bot and cleans its cache directory."
|
|
|
|
listtracks:
|
|
aliases:
|
|
- "listtracks"
|
|
- "listsongs"
|
|
- "list"
|
|
- "l"
|
|
is_admin: false
|
|
description: "Outputs a list of the tracks currently in the queue."
|
|
|
|
move:
|
|
aliases:
|
|
- "move"
|
|
- "m"
|
|
is_admin: true
|
|
description: "Moves the bot into the Mumble channel provided via argument."
|
|
|
|
nexttrack:
|
|
aliases:
|
|
- "nexttrack"
|
|
- "nextsong"
|
|
- "next"
|
|
is_admin: false
|
|
description: "Outputs information about the next track in the queue if one exists."
|
|
|
|
numcached:
|
|
aliases:
|
|
- "numcached"
|
|
- "nc"
|
|
is_admin: true
|
|
description: "Outputs the number of tracks cached on disk if caching is enabled."
|
|
|
|
numtracks:
|
|
aliases:
|
|
- "numtracks"
|
|
- "numsongs"
|
|
- "nt"
|
|
is_admin: false
|
|
description: "Outputs the number of tracks currently in the queue."
|
|
|
|
pause:
|
|
aliases:
|
|
- "pause"
|
|
is_admin: false
|
|
description: "Pauses audio playback."
|
|
|
|
reload:
|
|
aliases:
|
|
- "reload"
|
|
- "r"
|
|
is_admin: true
|
|
description: "Reloads the configuration file."
|
|
|
|
reset:
|
|
aliases:
|
|
- "reset"
|
|
- "re"
|
|
is_admin: true
|
|
description: "Resets the queue by removing all queue items."
|
|
|
|
resume:
|
|
aliases:
|
|
- "resume"
|
|
is_admin: false
|
|
description: "Resumes audio playback."
|
|
|
|
setcomment:
|
|
aliases:
|
|
- "setcomment"
|
|
- "comment"
|
|
- "sc"
|
|
is_admin: true
|
|
description: "Sets the comment displayed next to MumbleDJ's username in Mumble."
|
|
|
|
shuffle:
|
|
aliases:
|
|
- "shuffle"
|
|
- "shuf"
|
|
- "sh"
|
|
is_admin: true
|
|
description: "Randomizes the tracks currently in the queue."
|
|
|
|
skip:
|
|
aliases:
|
|
- "skip"
|
|
- "s"
|
|
is_admin: false
|
|
description: "Places a vote to skip the current track."
|
|
|
|
skipplaylist:
|
|
aliases:
|
|
- "skipplaylist"
|
|
- "sp"
|
|
is_admin: false
|
|
description: "Places a vote to skip the current playlist."
|
|
|
|
toggleshuffle:
|
|
aliases:
|
|
- "toggleshuffle"
|
|
- "toggleshuf"
|
|
- "togshuf"
|
|
- "tsh"
|
|
is_admin: true
|
|
description: "Toggles automatic track shuffling on/off."
|
|
|
|
version:
|
|
aliases:
|
|
- "version"
|
|
- "v"
|
|
is_admin: false
|
|
description: "Outputs the current version of MumbleDJ."
|
|
|
|
volume:
|
|
aliases:
|
|
- "volume"
|
|
- "vol"
|
|
is_admin: false
|
|
description: "Changes the volume if an argument is provided, outputs the current volume otherwise." |