]> git.0d.be Git - botaradio.git/blobdiff - configuration.default.ini
also accept files according to their extension
[botaradio.git] / configuration.default.ini
index d25b469640036e9ec7e7d24f99035fbb539b93fd..b549c522c2d095df3a1ddf3edc00fc3b8b1ba810 100644 (file)
@@ -1,22 +1,60 @@
+# ========================================================
+#  botamusique Default Configuration File
+#  Version 6
+# ========================================================
+#  WARNING:
+#           ******************************
+#           **DO NOT MODIFIED THIS FILE.**
+#           ******************************
+#
+#           Please create your own configuration file, and
+#           ONLY ADD ITEMS YOU WANT TO MODIFY into it. Other
+#           items will be loaded from this file automatically.
+#           DO NOT DIRECTLY COPY THIS FILE.
+#
+#           That is because this file will be overridden
+#           during updates. New options will be added and
+#           old options (like [strings]) will be updated.
+# ========================================================
+
 [server]
 host = 127.0.0.1
 port = 64738
 password =
 channel =
+# example: token1,token2
+tokens =
+certificate =
 
 [bot]
 username = botamusique
-comment = Hi, I'm here to play radio, local music or youtube/soundcloud music. Have fun !
+comment = Hi, I'm here to play radio, local music or youtube/soundcloud music. Have fun!
+# default volume from 0 to 1.
 volume = 0.1
-admin = User1;User2; # Allow user to kill the bot
-music_folder = /home/azlux/botamusique/music_folder/
+# playback mode should be one of "one-shot", "loop", "random", "autoplay"
+playback_mode = one-shot
+autoplay_length = 5
+
+# target version, stable or testing (testing need to bot installed with git)
+target_version = stable
+
+# Users allowed to kill the bot, or ban URLs.
+admin = User1;User2;
+# Folder that stores your local songs.
+music_folder = music_folder/
+# Folder that stores the downloaded music.
 tmp_folder = /tmp/
+database_path = database.db
 pip3_path = venv/bin/pip
-auto_update = True
+auto_check_update = True
+logfile =
 
 # in MB, 0 for no cache, -1 for unlimited size
 tmp_folder_max_size = 10
 
+# how many times the bot will try to download an item
+download_attempts = 2
+
 ignored_folders = tmp
 ignored_files = Thumbs.db
 
@@ -24,78 +62,253 @@ announce_current_music = True
 allow_other_channel_message = False
 allow_private_message = True
 
+# 'save_music_library': If this is set True, the bot will save the metadata of music into the database.
+save_music_library = True
+
+# 'refresh_cache_on_startup': If this is set true, the bot will refresh its music directory cache when starting up.
+#  But it won't reload metadata from each files. If set to False, it will used the cache last time.
+refresh_cache_on_startup = True
+
+# If save_playlist is set True, the bot will save current
+# playlist before quitting and reload it the next time it start.
+save_playlist = True
+
 # Maximum track played when a playlist is added.
 max_track_playlist = 20
 
 # Maximum music duration (minutes)
 max_track_duration = 60
 
+# If ducking is enabled, the bot will automatically attenuate its volume when someone is talking.
+ducking = False
+ducking_volume = 0.05
+ducking_threshold = 3000
+
 [webinterface]
+# Set enabled to True if you'd like to use the web interface to manage your playlist, upload files, etc.
 enabled = False
 is_web_proxified = True
 listening_addr = 127.0.0.1
 listening_port = 8181
+web_logfile =
+
+# Set this option to True to enable password protection for the web interface
+require_auth = False
+user = 
+password =
+
+[debug]
+# Set ffmpeg to True if you want to display DEBUG level log of ffmpeg.
+ffmpeg = False
+mumbleConnection = False
+
+# This is a list of default radio stations.
+[radio]
+ponyville = http://192.99.131.205:8000/stream.mp3 "Here a command of !radio comment"
+luna = http://radio.ponyvillelive.com:8002/stream "calm and orchestra music"
+radiobrony = http://62.210.138.34:8000/live "Borny music of a friend"
+celestiaradio = http://celestia.aiverse.org:8000/mp3_256
+jazz = http://jazz-wr04.ice.infomaniak.ch/jazz-wr04-128.mp3 "Jazz Yeah !"
+
 
-[command]
-play_file = file
+
+
+
+# ========================================================
+# WARNING: WE DO NOT SUGGEST YOU MODIFY THE FOLLOWING
+#          PARTS, EXCEPT YOU KNOW WHAT YOU ARE DOING.
+# ========================================================
+[commands]
+# This is a list of characters the bot recognizes as command prefix.
+command_symbol = !:!
+# This option split username, in case you use such kind of mumo plugins https://wiki.mumble.info/wiki/Mumo#Set_Status
+split_username_at_space = False
+
+
+play_file = file, f
+play_file_match = filematch, fm
 play_url = url
 play_radio = radio
 play_playlist = playlist
 
+rb_query = rbquery
+rb_play = rbplay
+
+yt_search = ysearch
+yt_play = yplay
+
 help = help
+pause = pause
+play = p, play
 stop = stop
-list = list
+remove = rm
+clear = clear
 skip = skip
-current_music = np
-volume = v
+last = last
+current_music = np, now
+volume = volume
 kill = kill
 stop_and_getout = oust
 joinme = joinme
 queue = queue
 repeat = repeat
+random = random
+mode = mode
 update = update
+list_file = listfile
 
-[radio]
-ponyville = http://192.99.131.205:8000/stream.mp3
-luna = http://radio.ponyvillelive.com:8002/stream
-radiobrony = http://62.210.138.34:8000/live
-celestiaradio = http://celestia.aiverse.org:8000/mp3_256
-jazz = http://jazz-wr04.ice.infomaniak.ch/jazz-wr04-128.mp3
+play_tag = tag
+add_tag = addtag
+remove_tag = untag
+find_tagged = findtagged, ft
+search = search
+delete_from_library = delete
+add_from_shortlist = shortlist, sl
+
+user_ban = userban
+user_unban = userunban
+url_ban = urlban
+url_ban_list = urlbanlist
+url_unban = urlunban
+
+ducking = duck
+ducking_threshold = duckthres
+ducking_volume = duckv
+
+drop_database = dropdatabase
+rescan = rescan
 
 [strings]
-current_volume = volume : %d%%
-change_volume = volume : %d%% by %s
-bad_command = Incorrect command
-not_admin = You are not an admin !
-not_playing = No music right now
-bad_file = Bad file requested
-no_file = File not found
-bad_url = Bad URL requested
-unable_download = Error while downloading the music...
-multiple_matches = Track not found! Possible candidates:
-queue_contents = The next items in the queue are:
-queue_empty = No more music in the playlist!
-now_playing = Now playing %s<br />%s
-not_in_my_channel = You're not in my channel, command refused !
+current_volume = Current volume: {volume}.
+current_ducking_volume = Volume on ducking: {volume}.
+change_volume = Volume set to {volume} by {user}.
+change_ducking_volume = Volume on ducking set to {volume} by {user}.
+bad_command = {command}: command not found.
+bad_parameter = {command}: invalid parameter.
+error_executing_command = {command}: Command failed with error: {error}.
+not_admin = You are not an admin!
+not_playing = Nothing is playing right now.
+no_file = File not found.
+wrong_pattern = Invalid regex: {error}.
+file_added  = Added {item}.
+file_deleted  = Deleted {item} from the library.
+multiple_file_added  = Multiple items added:
+multiple_file_deleted  = Multiple items deleted from the library:
+multiple_file_found  = Found:
+bad_url = Bad URL requested.
+preconfigurated_radio = Preconfigurated Radio available:
+unable_download = Error while downloading music...
+unable_play = Unable to play {item}. Removed from the library.
+which_command = Do you mean <br /> {commands}
+multiple_matches = File not found! Possible candidates:
+queue_contents = Items on the playlist:
+queue_empty = Playlist is empty!
+invalid_index = Invalid index <i>{index}</i>. Use '!queue' to see your playlist.
+now_playing = Playing {item}
+radio = Radio
+file = File
+url_from_playlist = URL
+url = URL
+radio_item = <a href="{url}"><b>{title}</b></a> <i>from</i> {name} <i>added by</i> {user}
+file_item = <b>{artist} - {title}</b> <i>added by</i> {user}
+url_from_playlist_item = <a href="{url}"><b>{title}</b></a> <i>from playlist</i> <a href="{playlist_url}">{playlist}</a> <i>added by</i> {user}
+url_item = <a href="{url}"><b>{title}</b></a> <i>added by</i> {user}
+not_in_my_channel = You're not in my channel, command refused!
 pm_not_allowed = Private message aren't allowed.
-too_long = This music is too long, skipping !
-download_in_progress = Download of %s in progress
-no_possible = it's not possible to do that
-removing_item = Removing entry %s from queue
-
-help = Command available:
-       <br />!file [path]
-       <br />!url [url] - youtube or soundcloud
-       <br />!playlist [url] [offset] - youtube or soundcloud playlist (the offset is the track number the bot will start to play - 1 by default)
-       <br />!radio [url] - url of a stream
-       <br />!list - display list of available tracks
-       <br />!queue - display items in queue
-       <br />!skip - jump to the next music of the playlist (of remove the X items if you add a number)
-       <br />!stop - stop and clear the playlist
-       <br />!oust - stop + Go to default channel
-       <br />!v - get or change the volume (in %)
-       <br />!joinme - join your own channel
+too_long = <b>{song}</b> is too long, removed from playlist!
+download_in_progress = Download of <b>{item}</b> in progress...
+removing_item = Removed entry {item} from playlist.
+user_ban = You are banned, not allowed to do that!
+url_ban = This url is banned!
+rb_query_result = This is the result of your query, send !rbplay 'ID' to play a station:
+rb_play_empty = Please specify a radio station ID!
+paused = Music paused.
+stopped = Music stopped.
+cleared = Playlist emptied.
+database_dropped = Database dropped. All records have gone.
+new_version_found = <h3>Update Available!</h3> New version of botamusique is available, send <i>!update</i> to update!
+start_updating = Start updating...
+file_missed = Music file '{file}' missed! This item has been removed from the playlist.
+unknown_mode = Unknown playback mode '{mode}'. It should be one of <i>one-shot</i>, <i>loop</i>, <i>random</i>.
+current_mode = Current playback mode is <i>{mode}</i>.
+change_mode = Playback mode set to <i>{mode}</i> by {user}.
+repeat = Repeat {song} for {n} times.
+yt_result = Youtube query result: {result_table} Use <i>!sl {{indexes}}</i> to play the item you want. <br />
+            <i>!ytquery -n</i> for the next page.
+yt_no_more = No more results!
+yt_query_error = Unable to query youtube!
+playlist_fetching_failed = Unable to fetch the playlist!
+cache_refreshed = Cache refreshed!
+added_tags = Added tags <i>{tags}</i> to <b>{song}</b>.
+added_tags_to_all = Added tags <i>{tags}</i> to songs on the playlist.
+removed_tags = Removed tags <i>{tags}</i> from <b>{song}</b>.
+removed_tags_from_all = Removed tags <i>{tags}</i> from songs on the playlist.
+cleared_tags = Removed all tags from <b>{song}</b>.
+cleared_tags_from_all = Removed all tags from songs on the playlist.
+shortlist_instruction = Use <i>!sl {indexes}</i> to play the item you want.
+
+help = <h3>Commands</h3>
+       <b>Control</b>
+       <ul>
+       <li> <b>!play </b> (or <b>!p</b>) [{num}] - resume from pausing / start to play (the num-th song is num is given) </li>
+       <li> <b>!<u>pa</u>use </b> - pause </li>
+       <li> <b>!<u>st</u>op </b> - stop playing </li>
+       <li> <b>!<u>sk</u>ip </b> - jump to the next song </li>
+       <li> <b>!<u>la</u>st </b> - jump to the last song </li>
+       <li> <b>!<u>v</u>olume </b> {volume} - get or change the volume (from 0 to 100) </li>
+       <li> <b>!<u>m</u>ode </b> [{mode}] - get or set the playback mode, {mode} should be one of <i>one-shot</i> (remove
+       item once played), <i>repeat</i> (looping through the playlist), <i>random</i> (randomize the playlist),
+       <i>autoplay</i> (randomly grab something from the music library).</li>
+       <li> <b>!duck </b> on/off - enable or disable ducking function </li>
+       <li> <b>!duckv </b> - set the volume of the bot when ducking is activated </li>
+       <li> <b>!<u>duckt</u>hres </b> - set the threshold of volume to activate ducking (3000 by default) </li>
+       <li> <b>!<u>o</u>ust </b> - stop playing and go to default channel </li>
+       </ul>
+       <b>Playlist</b>
+       <ul>
+       <li> <b>!<u>n</u>ow </b> (or <b>!np</b>) - display the current song </li>
+       <li> <b>!<u>q</u>ueue </b> - display items in the playlist </li>
+       <li> <b>!file </b>(or <b>!f</b>) {path/folder/index/keyword} - add a single file to the playlist by its path or index returned by !listfile </li>
+       <li> <b>!<u>filem</u>atch </b>(or <b>!fm</b>) {pattern} - add all files that match regex {pattern} </li>
+       <li> <b>!<u>ur</u>l </b> {url} - add Youtube or SoundCloud music </li>
+       <li> <b>!<u>playl</u>ist </b> {url} [{offset}] - add all items in a Youtube or SoundCloud playlist, and start with the {offset}-th item </li>
+       <li> <b>!<u>t</u>ag </b> {tags} - add all items with tags {tags}, tags separated by ",". </li>
+       <li> <b>!<u>sh</u>ortlist </b> (or <b>!sl</b>) {indexes} - add {indexes}-th item on the shortlist. </li>
+       <li> <b>!rm </b> {num} - remove the num-th song on the playlist </li>
+       <li> <b>!<u>rep</u>eat </b> [{num}] - repeat current song {num} (1 by default) times.</li>
+       <li> <b>!<u>ran</u>dom </b> - randomize the playlist.</li>
+       <li> <b>!<u>rad</u>io </b> {url} - append a radio {url} to the playlist </li>
+       <li> <b>!<u>li</u>stfile </b> [{pattern}] - display list of available files (that match the regex pattern if {pattern} is given) </li>
+       <li> <b>!<u>rbq</u>uery </b> {keyword} - query http://www.radio-browser.info for a radio station </li>
+       <li> <b>!<u>rbp</u>lay </b> {id} - play a radio station with {id} (eg. !rbplay 96746) </li>
+       <li> <b>!<u>ys</u>earch </b> {keywords} - query youtube. Use <i>!ytquery -n</i> to turn the page. </li>
+       <li> <b>!<u>yp</u>lay </b> {keywords} - add the first search result of {keywords} into the playlist.</li>
+       </ul>
+       <b>Music Library</b>
+       <ul>
+       <li> <b>!<u>se</u>arch </b> {keywords} - find item with {keywords} in the music library, keywords separated by space.</li>
+       <li> <b>!<u>addt</u>ag </b> [{index}] {tags} - add {tags} to {index}-th(current song if {index} is omitted) item on the playlist, tags separated by ",". </li>
+       <li> <b>!<u>addt</u>ag </b> * {tags} - add {tags} to all items on the playlist. </li>
+       <li> <b>!<u>un</u>tag </b> [{index/*}] {tags}/* - remove {tags}/all tags from {index}-th(current song if {index} is omitted) item on the playlist. </li>
+       <li> <b>!<u>fin</u>dtagged </b> (or <b>!ft</b>) {tags} - find item with {tags} in the music library. </li>
+       <li> <b>!<u>del</u>ete </b> {index} - delete {index}-th item on the shortlist from the music library. </li>
+       </ul>
+       <b>Other</b>
+       <ul>
+       <li> <b>!<u>j</u>oinme {token} </b> - join your own channel with {token}.</li>
+       </ul>
+
+admin_help = <h3>Admin command</h3>
+             <ul>
+             <li><b>!<u>k</u>ill </b> - kill the bot</li>
+             <li><b>!update </b> - update the bot</li>
+             <li><b>!userban </b> {user}  - ban a user</li>
+             <li><b>!userunban </b> {user}  - unban a user</li>
+             <li><b>!urlbanlist </b> {url}  - list banned url</li>
+             <li><b>!urlban </b> [{url}]  - ban {url} (or current item's url by default) and remove this url from the library.</li>
+             <li><b>!urlunban </b> {url}  - unban {url}</li>
+             <li><b>!rescan </b> {url}  - rebuild local music file cache</li>
+             <li><b>!dropdatabase</b> - clear the entire database, you will lose all settings and music library.</li>
+             </ul>
+
 
-[debug]
-ffmpeg = False
-mumbleConnection = False