407 lines
13 KiB
YAML
407 lines
13 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: "!"
|
|
|
|
common_messages:
|
|
no_tracks_error: "There are no tracks in the queue."
|
|
caching_disabled_error: "Caching is currently disabled."
|
|
|
|
# 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.
|
|
# messages: Various messages that may be sent as a text message from the command. Useful for translating
|
|
# strings to other languages. Do NOT remove strings that begin with "%" (such as "%s", "%d", etc.)
|
|
# as they substituted with runtime data. Removing these strings will cause the bot to misbehave.
|
|
add:
|
|
aliases:
|
|
- "add"
|
|
- "a"
|
|
is_admin: false
|
|
description: "Adds a track or playlist from a media site to the queue."
|
|
messages:
|
|
no_url_error: "A URL must be supplied with the add command."
|
|
no_valid_tracks_error: "No valid tracks were found with the provided URL(s)."
|
|
tracks_too_long_error: "Your track(s) were either too long or an error occurred while processing them. No track(s) have been added."
|
|
one_track_added: "<b>%s</b> added <b>1</b> track to the queue:<br><i>%s</i> from %s"
|
|
many_tracks_added: "<b>%s</b> added <b>%d</b> tracks to the queue."
|
|
num_tracks_too_long: "<br><b>%d</b> tracks could not be added due to error or because they are too long."
|
|
|
|
addnext:
|
|
aliases:
|
|
- "addnext"
|
|
- "an"
|
|
is_admin: true
|
|
description: "Adds a track or playlist from a media site as the next item in the queue."
|
|
# addnext uses the messages defined for add.
|
|
|
|
cachesize:
|
|
aliases:
|
|
- "cachesize"
|
|
- "cs"
|
|
is_admin: true
|
|
description: "Outputs the file size of the cache in MiB if caching is enabled."
|
|
messages:
|
|
current_size: "The current size of the cache is <b>%.2v MiB</b>."
|
|
|
|
currenttrack:
|
|
aliases:
|
|
- "currenttrack"
|
|
- "currentsong"
|
|
- "current"
|
|
is_admin: false
|
|
description: "Outputs information about the current track in the queue if one exists."
|
|
messages:
|
|
current_track: "The current track is <i>%s</i>, added by <b>%s</b>."
|
|
|
|
forceskip:
|
|
aliases:
|
|
- "forceskip"
|
|
- "fs"
|
|
is_admin: true
|
|
description: "Immediately skips the current track."
|
|
messages:
|
|
track_skipped: "The current track has been forcibly skipped by <b>%s</b>."
|
|
|
|
forceskipplaylist:
|
|
aliases:
|
|
- "forceskipplaylist"
|
|
- "fsp"
|
|
is_admin: true
|
|
description: "Immediately skips the current playlist."
|
|
messages:
|
|
no_playlist_error: "The current track is not part of a playlist."
|
|
playlist_skipped: "The current playlist has been forcibly skipped by <b>%s</b>."
|
|
|
|
help:
|
|
aliases:
|
|
- "help"
|
|
- "h"
|
|
is_admin: false
|
|
description: "Outputs this list of commands."
|
|
messages:
|
|
commands_header: "<br><b>Commands:</b><br>"
|
|
admin_commands_header: "<br><b>Admin Commands:</b><br>"
|
|
|
|
joinme:
|
|
aliases:
|
|
- "joinme"
|
|
- "join"
|
|
is_admin: true
|
|
description: "Moves MumbleDJ into your current channel if not playing audio to someone else."
|
|
messages:
|
|
others_are_listening_error: "Users in another channel are listening to me."
|
|
in_your_channel: "I am now in your channel!"
|
|
|
|
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."
|
|
messages:
|
|
invalid_integer_error: "An invalid integer was supplied."
|
|
track_listing: "<b>%d</b>: <i>%s</i>, added by <b>%s</b>.<br>"
|
|
|
|
move:
|
|
aliases:
|
|
- "move"
|
|
- "m"
|
|
is_admin: true
|
|
description: "Moves the bot into the Mumble channel provided via argument."
|
|
messages:
|
|
no_channel_provided_error: "A destination channel must be supplied to move the bot."
|
|
channel_doesnt_exist_error: "The provided channel does not exist."
|
|
move_successful: "You have successfully moved the bot to <b>%s</b>."
|
|
|
|
nexttrack:
|
|
aliases:
|
|
- "nexttrack"
|
|
- "nextsong"
|
|
- "next"
|
|
is_admin: false
|
|
description: "Outputs information about the next track in the queue if one exists."
|
|
messages:
|
|
current_track_only_error: "The current track is the only track in the queue."
|
|
next_track: "The next track is <i>%s</i>, added by <b>%s</b>."
|
|
|
|
numcached:
|
|
aliases:
|
|
- "numcached"
|
|
- "nc"
|
|
is_admin: true
|
|
description: "Outputs the number of tracks cached on disk if caching is enabled."
|
|
messages:
|
|
num_cached: "There are currently <b>%d</b> items stored in the cache."
|
|
|
|
numtracks:
|
|
aliases:
|
|
- "numtracks"
|
|
- "numsongs"
|
|
- "nt"
|
|
is_admin: false
|
|
description: "Outputs the number of tracks currently in the queue."
|
|
messages:
|
|
one_track: "There is currently <b>1</b> track in the queue."
|
|
plural_tracks: "There are currently <b>%d</b> tracks in the queue."
|
|
|
|
pause:
|
|
aliases:
|
|
- "pause"
|
|
is_admin: false
|
|
description: "Pauses audio playback."
|
|
messages:
|
|
no_audio_error: "Either the audio is already paused, or there are no tracks in the queue."
|
|
paused: "<b>%s</b> has paused audio playback."
|
|
|
|
reload:
|
|
aliases:
|
|
- "reload"
|
|
- "r"
|
|
is_admin: true
|
|
description: "Reloads the configuration file."
|
|
messages:
|
|
reloaded: "The configuration file has been successfully reloaded."
|
|
|
|
reset:
|
|
aliases:
|
|
- "reset"
|
|
- "re"
|
|
is_admin: true
|
|
description: "Resets the queue by removing all queue items."
|
|
messages:
|
|
queue_reset: "<b>%s</b> has reset the queue."
|
|
|
|
resume:
|
|
aliases:
|
|
- "resume"
|
|
is_admin: false
|
|
description: "Resumes audio playback."
|
|
messages:
|
|
audio_error: "Either the audio is already playing, or there are no tracks in the queue."
|
|
resumed: "<b>%s</b> has resumed audio playback."
|
|
|
|
setcomment:
|
|
aliases:
|
|
- "setcomment"
|
|
- "comment"
|
|
- "sc"
|
|
is_admin: true
|
|
description: "Sets the comment displayed next to MumbleDJ's username in Mumble."
|
|
messages:
|
|
comment_removed: "The comment for the bot has been successfully removed."
|
|
comment_changed: "The comment for the bot has been successfully changed to the following: %s"
|
|
|
|
shuffle:
|
|
aliases:
|
|
- "shuffle"
|
|
- "shuf"
|
|
- "sh"
|
|
is_admin: true
|
|
description: "Randomizes the tracks currently in the queue."
|
|
messages:
|
|
not_enough_tracks_error: "There are not enough tracks in the queue to execute a shuffle."
|
|
shuffled: "The audio queue has been shuffled."
|
|
|
|
skip:
|
|
aliases:
|
|
- "skip"
|
|
- "s"
|
|
is_admin: false
|
|
description: "Places a vote to skip the current track."
|
|
messages:
|
|
already_voted_error: "You have already voted to skip this track."
|
|
voted: "<b>%s</b> has voted to skip the current track."
|
|
|
|
skipplaylist:
|
|
aliases:
|
|
- "skipplaylist"
|
|
- "sp"
|
|
is_admin: false
|
|
description: "Places a vote to skip the current playlist."
|
|
messages:
|
|
no_playlist_error: "The current track is not part of a playlist."
|
|
already_voted_error: "You have already voted to skip this playlist."
|
|
voted: "<b>%s</b> has voted to skip the current playlist."
|
|
|
|
toggleshuffle:
|
|
aliases:
|
|
- "toggleshuffle"
|
|
- "toggleshuf"
|
|
- "togshuf"
|
|
- "tsh"
|
|
is_admin: true
|
|
description: "Toggles automatic track shuffling on/off."
|
|
messages:
|
|
toggled_off: "Automatic shuffling has been toggled off."
|
|
toggled_on: "Automatic shuffling has been toggled on."
|
|
|
|
|
|
version:
|
|
aliases:
|
|
- "version"
|
|
- "v"
|
|
is_admin: false
|
|
description: "Outputs the current version of MumbleDJ."
|
|
messages:
|
|
version: "MumbleDJ version: <b>%s</b>"
|
|
|
|
volume:
|
|
aliases:
|
|
- "volume"
|
|
- "vol"
|
|
is_admin: false
|
|
description: "Changes the volume if an argument is provided, outputs the current volume otherwise."
|
|
messages:
|
|
parsing_error: "The requested volume could not be parsed."
|
|
out_of_range_error: "Volumes must be between the values <b>%.2f</b> and <b>%.2f</b>."
|
|
current_volume: "The current volume is <b>%.2f</b>."
|
|
volume_changed: "<b>%s</b> has changed the volume to <b>%.2f</b>." |