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

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."