say.py add settings
This commit is contained in:
62
say.py
62
say.py
@@ -11,63 +11,89 @@ import prof
|
|||||||
import os
|
import os
|
||||||
from sys import platform
|
from sys import platform
|
||||||
|
|
||||||
enabled = False
|
|
||||||
|
|
||||||
|
|
||||||
def say(message):
|
def say(message):
|
||||||
|
args = prof.settings_get_string("say", "args", "")
|
||||||
|
|
||||||
if platform == "darwin":
|
if platform == "darwin":
|
||||||
os.system("say '" + message + "' 2>/dev/null")
|
os.system("say " + args + " '" + message + "' 2>/dev/null")
|
||||||
elif platform == "linux" or platform == "linux2":
|
elif platform == "linux" or platform == "linux2":
|
||||||
os.system("echo '" + message + "' | espeak 2>/dev/null")
|
os.system("echo '" + message + "' | espeak 2>/dev/null")
|
||||||
|
|
||||||
|
|
||||||
def prof_post_chat_message_display(jid, message):
|
def prof_post_chat_message_display(jid, message):
|
||||||
global enabled
|
enabled = prof.settings_get_string("say", "enabled", "off")
|
||||||
if enabled:
|
current_recipient = prof.get_current_recipient()
|
||||||
|
if enabled == "on" or (enabled == "active" and current_recipient == jid):
|
||||||
say(jid + " says " + message)
|
say(jid + " says " + message)
|
||||||
|
|
||||||
return message
|
return message
|
||||||
|
|
||||||
|
|
||||||
def prof_post_room_message_display(room, nick, message):
|
def prof_post_room_message_display(room, nick, message):
|
||||||
global enabled
|
enabled = prof.settings_get_string("say", "enabled", "off")
|
||||||
if enabled:
|
current_muc = prof.get_current_muc()
|
||||||
|
if enabled == "on" or (enable == "active" and current_muc == jid):
|
||||||
say(nick + " says " + message + " in " + room)
|
say(nick + " says " + message + " in " + room)
|
||||||
|
|
||||||
return message
|
return message
|
||||||
|
|
||||||
|
|
||||||
def prof_post_priv_message_display(room, nick, message):
|
def prof_post_priv_message_display(room, nick, message):
|
||||||
global enabled
|
# TODO add get current nick hook for private chats
|
||||||
if enabled:
|
if enabled:
|
||||||
say(nick + " says " + message)
|
say(nick + " says " + message)
|
||||||
|
|
||||||
return message
|
return message
|
||||||
|
|
||||||
|
|
||||||
def _cmd_say(arg1=None, arg2=None):
|
def _cmd_say(arg1=None, arg2=None):
|
||||||
global enabled
|
|
||||||
if arg1 == "on":
|
if arg1 == "on":
|
||||||
enabled = True
|
prof.settings_set_string("say", "enabled", "on")
|
||||||
|
prof.cons_show("Say plugin enabled")
|
||||||
elif arg1 == "off":
|
elif arg1 == "off":
|
||||||
enabled = False
|
prof.settings_set_string("say", "enabled", "off")
|
||||||
|
prof.cons_show("Say plugin disabled")
|
||||||
|
elif arg1 == "active":
|
||||||
|
prof.settings_set_string("say", "enabled", "active")
|
||||||
|
prof.cons_show("Say plugin enabled for active window only")
|
||||||
|
elif arg1 == "args":
|
||||||
|
if arg2 == None:
|
||||||
|
prof.cons_bad_cmd_usage("/say")
|
||||||
|
else:
|
||||||
|
prof.settings_set_string("say", "args", arg2)
|
||||||
|
prof.cons_show("Say plugin arguments set to: " + arg2)
|
||||||
|
elif arg1 == "clearargs":
|
||||||
|
prof.settings_set_string("say", "args", "")
|
||||||
|
prof.cons_show("Say plugin arguments cleared")
|
||||||
elif arg1 == "test":
|
elif arg1 == "test":
|
||||||
if arg2 == None:
|
if arg2 == None:
|
||||||
prof.cons_bad_cmd_usage("/say")
|
prof.cons_bad_cmd_usage("/say")
|
||||||
else:
|
else:
|
||||||
say(arg2)
|
say(arg2)
|
||||||
else:
|
else:
|
||||||
prof.cons_bad_cmd_usage("/say")
|
enabled = prof.settings_get_string("say", "enabled", "off")
|
||||||
|
args = prof.settings_get_string("say", "args", "")
|
||||||
|
prof.cons_show("Say plugin settings:")
|
||||||
|
prof.cons_show("enabled : " + enabled)
|
||||||
|
if args != "":
|
||||||
|
prof.cons_show("args : " + args)
|
||||||
|
|
||||||
|
|
||||||
def prof_init(version, status, account_name, fulljid):
|
def prof_init(version, status, account_name, fulljid):
|
||||||
synopsis = [
|
synopsis = [
|
||||||
"/say on|off",
|
"/say on|off|active",
|
||||||
|
"/say args <args>",
|
||||||
"/say test <message>"
|
"/say test <message>"
|
||||||
]
|
]
|
||||||
description = "Read all messages out loud"
|
description = "Read all messages out loud"
|
||||||
args = [
|
args = [
|
||||||
[ "on|off", "Enable/disable say" ],
|
[ "on|off", "Enable/disable say for all windows" ],
|
||||||
[ "test <message>", "Say message" ]
|
[ "active", "Enable say for active window only" ],
|
||||||
|
[ "args <args>", "Arguments to pass to 'say' command on OSX" ],
|
||||||
|
[ "clearargs <args>", "Clear 'say' command arguments on OSX" ],
|
||||||
|
[ "test <message>", "Say message" ]
|
||||||
]
|
]
|
||||||
examples = []
|
examples = []
|
||||||
|
|
||||||
prof.register_command("/say", 1, 2, synopsis, description, args, examples, _cmd_say)
|
prof.register_command("/say", 0, 2, synopsis, description, args, examples, _cmd_say)
|
||||||
prof.completer_add("/say", [ "on", "off", "test" ])
|
prof.completer_add("/say", [ "on", "off", "test", "active", "args", "clearargs" ])
|
||||||
|
|||||||
Reference in New Issue
Block a user