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