This repository has been archived on 2019-06-23. You can view files and clone it, but cannot push or open issues/pull-requests.
mumbledj/config.yaml

424 lines
14 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"
# Filepath to user p12 file for authenticating as a registered user.
# NOTE: If no p12 file is needed, set to empty string ("").
user_p12: ""
# 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."
register:
aliases:
- "register"
- "reg"
is_admin: true
description: "Registers the bot on the server."
messages:
already_registered_error: "I am already registered on the server."
registered: "I am now registered on the server."
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."
submitter_voted: "<b>%s</b>, the submitter of this track, has voted to skip. Skipping immediately."
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."
submitter_voted: "<b>%s</b>, the submitter of this playlist, has voted to skip. Skipping immediately."
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>."