add feature autostop
This commit is contained in:
parent
6caca5f307
commit
8f48b7deda
@ -85,6 +85,9 @@ ducking = False
|
|||||||
ducking_volume = 0.05
|
ducking_volume = 0.05
|
||||||
ducking_threshold = 3000
|
ducking_threshold = 3000
|
||||||
|
|
||||||
|
# if auto_stop is enabled and a user leaves and the bot is left alone, stop and clear the playlist
|
||||||
|
auto_stop = False
|
||||||
|
|
||||||
[webinterface]
|
[webinterface]
|
||||||
# Set enabled to True if you'd like to use the web interface to manage your playlist, upload files, etc.
|
# Set enabled to True if you'd like to use the web interface to manage your playlist, upload files, etc.
|
||||||
enabled = False
|
enabled = False
|
||||||
|
@ -98,6 +98,9 @@ port = 64738
|
|||||||
#ducking_volume = 0.05
|
#ducking_volume = 0.05
|
||||||
#ducking_threshold = 3000
|
#ducking_threshold = 3000
|
||||||
|
|
||||||
|
# 'auto_stop': If a user leaves and the bot is left alone, stop and clear the playlist
|
||||||
|
#auto_stop = False
|
||||||
|
|
||||||
# [webinterface] stores settings related to the web interface.
|
# [webinterface] stores settings related to the web interface.
|
||||||
[webinterface]
|
[webinterface]
|
||||||
# 'enable': Set 'enabled' to True if you'd like to use the web interface to manage
|
# 'enable': Set 'enabled' to True if you'd like to use the web interface to manage
|
||||||
|
15
mumbleBot.py
15
mumbleBot.py
@ -149,6 +149,10 @@ class MumbleBot:
|
|||||||
self.ducking_sound_received)
|
self.ducking_sound_received)
|
||||||
self.mumble.set_receive_sound(True)
|
self.mumble.set_receive_sound(True)
|
||||||
|
|
||||||
|
if not var.db.has_option("bot", "auto_stop") and var.config.getboolean("bot", "auto_stop", fallback=False)\
|
||||||
|
or var.config.getboolean("bot", "auto_stop"):
|
||||||
|
self.mumble.callbacks.set_callback(pymumble.constants.PYMUMBLE_CLBK_USERREMOVED, self.users_changed)
|
||||||
|
self.mumble.callbacks.set_callback(pymumble.constants.PYMUMBLE_CLBK_USERUPDATED, self.users_changed)
|
||||||
# Debug use
|
# Debug use
|
||||||
self._loop_status = 'Idle'
|
self._loop_status = 'Idle'
|
||||||
self._display_rms = False
|
self._display_rms = False
|
||||||
@ -314,6 +318,17 @@ class MumbleBot:
|
|||||||
else:
|
else:
|
||||||
return False
|
return False
|
||||||
|
|
||||||
|
# =======================
|
||||||
|
# Users changed
|
||||||
|
# =======================
|
||||||
|
|
||||||
|
def users_changed(self, user, message):
|
||||||
|
own_channel = self.mumble.channels[self.mumble.users.myself['channel_id']]
|
||||||
|
# if the bot is the only user left in the channel
|
||||||
|
if len(own_channel.get_users()) == 1:
|
||||||
|
self.log.info('Other users in the channel left. Stopping music now.')
|
||||||
|
self.clear()
|
||||||
|
|
||||||
# =======================
|
# =======================
|
||||||
# Launch and Download
|
# Launch and Download
|
||||||
# =======================
|
# =======================
|
||||||
|
Loading…
x
Reference in New Issue
Block a user