#!/usr/bin/python __module_name__ = "xcsec" __module_version__ = "0.1" __module_description__ = "Xchat module for sec." ## imports ## import sec import xchat def encode(word, word_eol, userdata): print userdata word = word_eol[1] w = sec.encode(word) xchat.command("say !x0 %s" % (w)) return xchat.EAT_ALL def decode(word, word_eol, userdata): event, pos = userdata if type(pos) is int: pos = (pos,) changed = False if word[1].find("!x0") != -1: for i in pos: try: reencoded = sec.decode(word[i].replace("!x0 ", "")) except (UnicodeError, IndexError): continue if reencoded != word[i]: word[i] = reencoded changed = True if changed: xchat.emit_print(event, *word) return xchat.EAT_XCHAT else: return xchat.EAT_NONE xchat.hook_command("x0e", encode, help="/x0e ") EVENTS = [] EVENTS.append(("Channel Message", 1)) EVENTS.append(("Private Message", 1)) EVENTS.append(("Your Message", 1)) for event in EVENTS: xchat.hook_print(event[0], decode, event)