sounds.py allow for certain rooms
This commit is contained in:
63
sounds.py
63
sounds.py
@@ -21,10 +21,12 @@ def _play_sound(soundfile):
|
|||||||
|
|
||||||
def _cmd_sounds(arg1=None, arg2=None, arg3=None):
|
def _cmd_sounds(arg1=None, arg2=None, arg3=None):
|
||||||
if not arg1:
|
if not arg1:
|
||||||
|
prof.cons_show("")
|
||||||
enabled = prof.settings_boolean_get("sounds", "enabled", False)
|
enabled = prof.settings_boolean_get("sounds", "enabled", False)
|
||||||
chatsound = prof.settings_string_get("sounds", "chat", None)
|
chatsound = prof.settings_string_get("sounds", "chat", None)
|
||||||
roomsound = prof.settings_string_get("sounds", "room", None)
|
roomsound = prof.settings_string_get("sounds", "room", None)
|
||||||
privatesound = prof.settings_string_get("sounds", "private", None)
|
privatesound = prof.settings_string_get("sounds", "private", None)
|
||||||
|
roomlist = prof.settings_string_list_get("sounds", "rooms")
|
||||||
if chatsound or roomsound or privatesound:
|
if chatsound or roomsound or privatesound:
|
||||||
if enabled:
|
if enabled:
|
||||||
prof.cons_show("Sounds: ON")
|
prof.cons_show("Sounds: ON")
|
||||||
@@ -34,8 +36,14 @@ def _cmd_sounds(arg1=None, arg2=None, arg3=None):
|
|||||||
prof.cons_show(" Chat : " + chatsound)
|
prof.cons_show(" Chat : " + chatsound)
|
||||||
if roomsound:
|
if roomsound:
|
||||||
prof.cons_show(" Room : " + roomsound)
|
prof.cons_show(" Room : " + roomsound)
|
||||||
|
if roomlist and len(roomlist) > 0:
|
||||||
|
for room in roomlist:
|
||||||
|
prof.cons_show(" " + room)
|
||||||
|
else:
|
||||||
|
prof.cons_show(" All rooms")
|
||||||
if privatesound:
|
if privatesound:
|
||||||
prof.cons_show(" Private : " + privatesound)
|
prof.cons_show(" Private : " + privatesound)
|
||||||
|
|
||||||
else:
|
else:
|
||||||
prof.cons_show("No sounds set.")
|
prof.cons_show("No sounds set.")
|
||||||
|
|
||||||
@@ -81,6 +89,31 @@ def _cmd_sounds(arg1=None, arg2=None, arg3=None):
|
|||||||
|
|
||||||
return
|
return
|
||||||
|
|
||||||
|
if arg1 == "rooms":
|
||||||
|
if arg2 == "add":
|
||||||
|
if not arg3:
|
||||||
|
prof.cons_bad_cmd_usage("/sounds")
|
||||||
|
else:
|
||||||
|
prof.settings_string_list_add("sounds", "rooms", arg3)
|
||||||
|
prof.cons_show("Sounds enabled for room: " + arg3)
|
||||||
|
elif arg2 == "remove":
|
||||||
|
if not arg3:
|
||||||
|
prof.cons_bad_cmd_usage("/sounds")
|
||||||
|
else:
|
||||||
|
prof.settings_string_list_remove("sounds", "rooms", arg3)
|
||||||
|
roomlist = prof.settings_string_list_get("sounds", "rooms")
|
||||||
|
if roomlist and len(roomlist) > 0:
|
||||||
|
prof.cons_show("Sounds disabled for room: " + arg3)
|
||||||
|
else:
|
||||||
|
prof.cons_show("Empty room list for sounds, playing in all rooms.")
|
||||||
|
elif arg2 == "clear":
|
||||||
|
prof.settings_string_list_clear("sounds", "rooms")
|
||||||
|
prof.cons_show("Cleared sounds room list, playing in all rooms.")
|
||||||
|
else:
|
||||||
|
prof.cons_bad_cmd_usage("/sounds")
|
||||||
|
|
||||||
|
return
|
||||||
|
|
||||||
prof.cons_bad_cmd_usage("/sounds")
|
prof.cons_bad_cmd_usage("/sounds")
|
||||||
|
|
||||||
|
|
||||||
@@ -93,7 +126,8 @@ def prof_init(version, status, account_name, fulljid):
|
|||||||
"/sounds set private <file>",
|
"/sounds set private <file>",
|
||||||
"/sounds clear chat",
|
"/sounds clear chat",
|
||||||
"/sounds clear room",
|
"/sounds clear room",
|
||||||
"/sounds clear private"
|
"/sounds clear private",
|
||||||
|
"/sounds rooms add <roomjid>"
|
||||||
]
|
]
|
||||||
description = "Play mp3 sounds on various Profanity events. Calling with no args shows current sound files."
|
description = "Play mp3 sounds on various Profanity events. Calling with no args shows current sound files."
|
||||||
args = [
|
args = [
|
||||||
@@ -103,21 +137,26 @@ def prof_init(version, status, account_name, fulljid):
|
|||||||
[ "set private <file>", "Path to mp3 file to play on private room messages." ],
|
[ "set private <file>", "Path to mp3 file to play on private room messages." ],
|
||||||
[ "clear chat", "Remove the sound for chat messages." ],
|
[ "clear chat", "Remove the sound for chat messages." ],
|
||||||
[ "clear room", "Remove the sound for room messages." ],
|
[ "clear room", "Remove the sound for room messages." ],
|
||||||
[ "clear private", "Remove the sound for private messages." ]
|
[ "clear private", "Remove the sound for private messages." ],
|
||||||
|
[ "rooms add <roomjid>", "Add the room to the list that will play the room sound."],
|
||||||
|
[ "rooms remove <roomjid>", "Remove the room from the list that will play the room sound."],
|
||||||
|
[ "rooms clear", "Clear the room list, all rooms will play sounds on new messages."]
|
||||||
]
|
]
|
||||||
examples = [
|
examples = [
|
||||||
"/sounds set chat ~/sounds/woof.mp3",
|
"/sounds set chat ~/sounds/woof.mp3",
|
||||||
"/sounds set room ~/sounds/meow.mp3",
|
"/sounds set room ~/sounds/meow.mp3",
|
||||||
"/sounds set private ~/sounds/shhh.mp3",
|
"/sounds set private ~/sounds/shhh.mp3",
|
||||||
"/sounds remove private",
|
"/sounds remove private",
|
||||||
"/sounds on",
|
"/sounds rooms add myroom@conference.server.org",
|
||||||
|
"/sounds on"
|
||||||
]
|
]
|
||||||
|
|
||||||
prof.register_command("/sounds", 0, 3, synopsis, description, args, examples, _cmd_sounds)
|
prof.register_command("/sounds", 0, 3, synopsis, description, args, examples, _cmd_sounds)
|
||||||
|
|
||||||
prof.completer_add("/sounds", [ "set", "clear", "on", "off" ])
|
prof.completer_add("/sounds", [ "set", "clear", "on", "off", "rooms" ])
|
||||||
prof.completer_add("/sounds set", [ "chat", "room", "private" ])
|
prof.completer_add("/sounds set", [ "chat", "room", "private" ])
|
||||||
prof.completer_add("/sounds clear", [ "chat", "room", "private" ])
|
prof.completer_add("/sounds clear", [ "chat", "room", "private" ])
|
||||||
|
prof.completer_add("/sounds rooms", [ "add", "remove", "clear" ])
|
||||||
|
|
||||||
|
|
||||||
def prof_post_chat_message_display(barejid, resource, message):
|
def prof_post_chat_message_display(barejid, resource, message):
|
||||||
@@ -126,8 +165,10 @@ def prof_post_chat_message_display(barejid, resource, message):
|
|||||||
return
|
return
|
||||||
|
|
||||||
soundfile = prof.settings_string_get("sounds", "chat", None)
|
soundfile = prof.settings_string_get("sounds", "chat", None)
|
||||||
if soundfile:
|
if not soundfile:
|
||||||
_play_sound(soundfile)
|
return
|
||||||
|
|
||||||
|
_play_sound(soundfile)
|
||||||
|
|
||||||
|
|
||||||
def prof_post_room_message_display(barejid, nick, message):
|
def prof_post_room_message_display(barejid, nick, message):
|
||||||
@@ -136,8 +177,14 @@ def prof_post_room_message_display(barejid, nick, message):
|
|||||||
return
|
return
|
||||||
|
|
||||||
soundfile = prof.settings_string_get("sounds", "room", None)
|
soundfile = prof.settings_string_get("sounds", "room", None)
|
||||||
if soundfile:
|
if not soundfile:
|
||||||
_play_sound(soundfile)
|
return
|
||||||
|
|
||||||
|
roomlist = prof.settings_string_list_get("sounds", "rooms")
|
||||||
|
if roomlist and (barejid not in roomlist):
|
||||||
|
return
|
||||||
|
|
||||||
|
_play_sound(soundfile)
|
||||||
|
|
||||||
|
|
||||||
def prof_post_priv_message_display(barejid, nick, message):
|
def prof_post_priv_message_display(barejid, nick, message):
|
||||||
|
|||||||
Reference in New Issue
Block a user