IMPORTANT NOTE: The default database path has changed. It was database.db, but now they ARE settings.db and music.db. Database migration will detect music table in settings.db, and move it out of settings.db. To update from old version, you need to 1. if you use your own db path settings in the command line or in configuration.ini, you don't have to change anything; 1. or,if you use default database path, rename database.db into settings.db.
323 lines
13 KiB
INI
323 lines
13 KiB
INI
# ========================================================
|
||
# 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!
|
||
# default volume from 0 to 1.
|
||
volume = 0.1
|
||
# playback mode should be one of "one-shot", "repeat", "random", "autoplay"
|
||
playback_mode = one-shot
|
||
autoplay_length = 5
|
||
clear_when_stop_in_oneshot = False
|
||
|
||
# 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/
|
||
pip3_path = venv/bin/pip
|
||
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
|
||
|
||
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
|
||
|
||
# if when_nobody_in_channel is enabled and the bot is left alone, action are make :
|
||
# "pause" (pause current song), "pause_resume" (pause current song and resume once somebody reenters the channel), "stop" (also clears playlist) or "nothing" (keep playing music)
|
||
when_nobody_in_channel = nothing
|
||
|
||
[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
|
||
redirect_ffmpeg_log = True
|
||
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 !"
|
||
|
||
|
||
|
||
|
||
|
||
# ========================================================
|
||
# 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
|
||
remove = rm
|
||
clear = clear
|
||
skip = skip
|
||
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
|
||
|
||
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 = 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:
|
||
page_instruction = Page {current}/{total}. Use <i>!{command} {{page}}</i> to navigate.
|
||
records_omitted = ...
|
||
bad_url = Bad URL requested.
|
||
preconfigurated_radio = Preconfigurated Radio available:
|
||
unable_download = Unable to download <b>{item}</b>. Removed from the library.
|
||
unable_play = Unable to play <b>{item}</b>. 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 = <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>repeat</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.
|
||
auto_paused = Use <i>!play</i> to resume music!
|
||
|
||
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 if 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>!<u>t</u>ag </b> {tags} - add all items with tags {tags}, tags separated by ",". </li>
|
||
<li> <b>!file </b>(or <b>!f</b>) {path/folder/keyword} - add a single file to the playlist by its path or keyword in its path. </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>rad</u>io </b> {url} - append a radio {url} to the playlist </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>!ysearch -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>
|
||
<li> <b>!<u>sh</u>ortlist </b> (or <b>!sl</b>) {indexes/*} - add {indexes}-th item (or all items if * is given) 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>
|
||
</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>li</u>stfile </b> [{pattern}] - display list of available files (whose paths match the regex pattern if {pattern} is given) </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> - 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>
|
||
|
||
|