add play_resume option
This commit is contained in:
parent
b6ea3c5bff
commit
7b1415948a
@ -99,7 +99,8 @@ port = 64738
|
|||||||
#ducking_threshold = 3000
|
#ducking_threshold = 3000
|
||||||
|
|
||||||
# 'when_nobody_in_channel': should the music stop playing when everybody left the channel
|
# 'when_nobody_in_channel': should the music stop playing when everybody left the channel
|
||||||
# it should be one of "pause" (pause current song), "stop" (also clears playlist) or "nothing" (keep playing music)
|
# it should be one of "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)
|
||||||
# If a user leaves and the bot is left alone, stop and clear the playlist
|
# If a user leaves and the bot is left alone, stop and clear the playlist
|
||||||
#when_nobody_in_channel = nothing
|
#when_nobody_in_channel = nothing
|
||||||
|
|
||||||
|
22
mumbleBot.py
22
mumbleBot.py
@ -149,10 +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 var.config.get("bot", "when_nobody_in_channel") in ['pause', 'stop', 'nothing']:
|
if var.config.get("bot", "when_nobody_in_channel") not in ['pause', 'pause_resume', 'stop', 'nothing']:
|
||||||
self.log.warn('Config "when_nobody_in_channel" is not on of "pause", "stop" or "nothing", falling back to "nothing".')
|
self.log.warn('Config "when_nobody_in_channel" is not on of "pause", "pause_resume", "stop" or "nothing", falling back to "nothing".')
|
||||||
|
|
||||||
if var.config.get("bot", "when_nobody_in_channel", fallback='nothing') in ['pause', 'stop']:
|
if var.config.get("bot", "when_nobody_in_channel", fallback='nothing') in ['pause', 'pause_resume', 'stop']:
|
||||||
self.mumble.callbacks.set_callback(pymumble.constants.PYMUMBLE_CLBK_USERREMOVED, self.users_changed)
|
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)
|
self.mumble.callbacks.set_callback(pymumble.constants.PYMUMBLE_CLBK_USERUPDATED, self.users_changed)
|
||||||
|
|
||||||
@ -327,16 +327,22 @@ class MumbleBot:
|
|||||||
|
|
||||||
def users_changed(self, user, message):
|
def users_changed(self, user, message):
|
||||||
own_channel = self.mumble.channels[self.mumble.users.myself['channel_id']]
|
own_channel = self.mumble.channels[self.mumble.users.myself['channel_id']]
|
||||||
if len(own_channel.get_users()) > 1:
|
# only check if there is one more user currently in the channel
|
||||||
return
|
# else when the music is paused and somebody joins, music would start playing again
|
||||||
|
if len(own_channel.get_users()) == 2:
|
||||||
|
if var.config.get("bot", "when_nobody_in_channel") == "pause_resume":
|
||||||
|
self.resume()
|
||||||
|
elif var.config.get("bot", "when_nobody_in_channel") == "pause":
|
||||||
|
self.send_msg('Music was paused after everyone left. !play to resume');
|
||||||
|
|
||||||
|
elif len(own_channel.get_users()) == 1:
|
||||||
# if the bot is the only user left in the channel
|
# if the bot is the only user left in the channel
|
||||||
self.log.info('bot: Other users in the channel left. Stopping music now.')
|
self.log.info('bot: Other users in the channel left. Stopping music now.')
|
||||||
|
|
||||||
if var.config.get("bot", "when_nobody_in_channel") == "pause":
|
if var.config.get("bot", "when_nobody_in_channel") == "stop":
|
||||||
self.pause()
|
|
||||||
else:
|
|
||||||
self.clear()
|
self.clear()
|
||||||
|
else:
|
||||||
|
self.pause()
|
||||||
|
|
||||||
# =======================
|
# =======================
|
||||||
# Launch and Download
|
# Launch and Download
|
||||||
|
Loading…
x
Reference in New Issue
Block a user