diff options
author | Christopher Davis <loafier@gmail.com> | 2006-06-19 12:25:06 +0000 |
---|---|---|
committer | Christopher Davis <loafier@gmail.com> | 2006-06-19 12:25:06 +0000 |
commit | bb48c914c6239ed1dbcb29eb62d33d3ab91e7215 (patch) | |
tree | 0b6910959f96f683f3aa11a8e2f53572e42b3305 /scripts | |
parent | efef73ae301947875602d67d0979a8ce3bd57dd0 (diff) | |
download | irssi-python-bb48c914c6239ed1dbcb29eb62d33d3ab91e7215.tar.gz irssi-python-bb48c914c6239ed1dbcb29eb62d33d3ab91e7215.tar.xz irssi-python-bb48c914c6239ed1dbcb29eb62d33d3ab91e7215.zip |
initial import
git-svn-id: http://svn.irssi.org/repos/irssi-python@4282 dbcabf3a-b0e7-0310-adc4-f8d773084564
Diffstat (limited to 'scripts')
-rw-r--r-- | scripts/CVS/Entries | 3 | ||||
-rw-r--r-- | scripts/CVS/Repository | 1 | ||||
-rw-r--r-- | scripts/CVS/Root | 1 | ||||
-rw-r--r-- | scripts/dumper.py | 188 | ||||
-rw-r--r-- | scripts/hello.py | 20 | ||||
-rw-r--r-- | scripts/test_window.py | 50 |
6 files changed, 263 insertions, 0 deletions
diff --git a/scripts/CVS/Entries b/scripts/CVS/Entries new file mode 100644 index 0000000..c13e17d --- /dev/null +++ b/scripts/CVS/Entries @@ -0,0 +1,3 @@ +/hello.py/1.3/Thu Jun 8 03:08:39 2006// +/dumper.py/1.8/Mon Jun 12 11:07:19 2006// +D diff --git a/scripts/CVS/Repository b/scripts/CVS/Repository new file mode 100644 index 0000000..51ee3e5 --- /dev/null +++ b/scripts/CVS/Repository @@ -0,0 +1 @@ +irssi-python/scripts diff --git a/scripts/CVS/Root b/scripts/CVS/Root new file mode 100644 index 0000000..de78dd2 --- /dev/null +++ b/scripts/CVS/Root @@ -0,0 +1 @@ +:ext:loafier@sverige.freeshell.org/arpa/gm/l/loafier/cvsroot diff --git a/scripts/dumper.py b/scripts/dumper.py new file mode 100644 index 0000000..b11e24c --- /dev/null +++ b/scripts/dumper.py @@ -0,0 +1,188 @@ +# type /pyload dumper + +import sys +import irssi + +__script = None +__last_witem = None +__last_server = None + +def cmd_pydumper(data, server, witem): + assert isinstance(server, irssi.Server), "This should be a Server" + assert isinstance(witem, irssi.WindowItem), "This should be a WindowItem" + assert isinstance(witem, irssi.Query) or \ + isinstance(witem, irssi.Channel), \ + "... and be a Query or Channel" + + server.channels_join("#neblooh") + #server.disconnect() + sc = server.connect + + print 'witem.server', witem.server + + print 'Server.Connect', sc + print 'connect.type', sc.type + print 'connect.type_id', sc.type_id + print 'connect.chat_type', sc.chat_type + print 'connect.chat_type_id', sc.chat_type_id + print 'connect.address', sc.address + print 'connect.port', sc.port + print 'connect.chatnet', sc.chatnet + print 'connect.password', sc.password + print 'connect.wanted_nick', sc.wanted_nick + print 'connect.username', sc.username + print 'connect.realname', sc.realname + if isinstance(sc, irssi.IrcConnect): + print 'IRC Connect items:' + print 'connect.alternate_nick', sc.alternate_nick + + print + print + print 'Server', server + print 'server.type', server.type + print 'server.type_id', server.type_id + print 'server.chat_type', server.chat_type + print 'server.chat_type_id', server.chat_type_id + print 'server.connect_time', server.connect_time + print 'server.real_connect_time', server.real_connect_time + print 'server.tag', server.tag + print 'server.nick', server.nick + print 'server.connected', server.connected + print 'server.connection_lost', server.connection_lost + print 'server.rawlog', server.rawlog + print 'server.version', server.version + print 'server.last_invite', server.server_operator + print 'server.usermode_away', server.usermode_away + print 'server.away_reason', server.away_reason + print 'server.banned', server.banned + print 'server.lag', server.lag + if isinstance(server, irssi.IrcServer): + print 'IRC Server items:' + print 'server.real_address', server.real_address + print 'server.usermode', server.usermode + print 'server.userhost', server.userhost + + print + print + print 'Witem', witem + print 'witem.type', witem.type + print 'witem.type_id', witem.type_id + print 'witem.chat_type', witem.chat_type + print 'witem.chat_type_id', witem.chat_type_id + print 'witem.server', witem.server + print 'witem.name', witem.name + print 'witem.createtime', witem.createtime + print 'witem.data_level', witem.data_level + print 'witem.hilight_color', witem.hilight_color + + #if witem.type == "CHANNEL": + if isinstance(witem, irssi.Channel): + print 'channel items:' + print 'witem.topic', witem.topic + print 'witem.topic_by', witem.topic_by + print 'witem.topic_time', witem.topic_time + print 'witem.no_modes', witem.no_modes + print 'witem.mode', witem.mode + print 'witem.limit', witem.limit + print 'witem.key', witem.key + print 'witem.chanop', witem.chanop + print 'witem.names_got', witem.names_got + print 'witem.wholist', witem.wholist + print 'witem.synced', witem.synced + #witem.destroy() + print 'witem.joined', witem.joined + print 'witem.left', witem.left + print 'witem.kicked', witem.kicked + if isinstance(witem, irssi.IrcChannel): + print 'IRC channel:' + print 'witem.bans', witem.bans() + for ban in witem.bans(): + print 'ban.ban', ban.ban + print 'ban.setby', ban.setby + print 'ban.time', ban.time + + #elif witem.type == "QUERY": + elif isinstance(witem, irssi.Query): + print 'query items:' + print 'witem.address', witem.address + witem.change_server(server) + #witem.change_server(witem) + print 'witem.server_tag', witem.server_tag + print 'witem.unwanted', witem.unwanted + + print + print + print 'is nick flag "@"?', server.isnickflag('@') + print 'is nick flag "+"?', server.isnickflag('+') + print 'is nick flag "%"?', server.isnickflag('%') + + print 'is channel "#fuggerd"', server.ischannel('#fuggerd') + print 'is channel "&booh"', server.ischannel('&booh') + print 'is channel "xbooh"', server.ischannel('xbooh') + + print 'nick flags', server.get_nick_flags() + + print irssi.chatnets() + for cn in irssi.chatnets(): + print 'cn.type', cn.type + print 'cn.chat_type', cn.chat_type + print 'cn.name', cn.name + print 'cn.nick', cn.nick + print 'cn.username', cn.username + print 'cn.realname', cn.realname + print 'cn.own_host', cn.own_host + print 'cn.autosendcmd', cn.autosendcmd + print + + print irssi.chatnet_find('ircnet') + print irssi.servers() + print irssi.reconnects() + + print irssi.windows() + for win in irssi.windows(): + print 'win.refnum', win.refnum + print 'win.name', win.name + print 'win.width', win.width + print 'win.height', win.height + print 'win.history_name', win.history_name + print 'win.active', win.active + print 'win.active_server', win.active_server + print 'win.servertag', win.servertag + print 'win.level', win.level + print 'win.sticky_refnum', win.sticky_refnum + print 'win.data_level', win.data_level + print 'win.hilight_color', win.hilight_color + print 'win.last_timestamp', win.last_timestamp + print 'win.last_line', win.last_line + print 'win.theme_name', win.theme_name + print + + """ + print 'printing to channel' + server.send_message('#booh', 'test msg chan', 0) + server.send_message('#booh', 'test msg chan ER', 1) + + print 'printing to nick' + server.send_message('melbo', 'test msg nick', 1) + server.send_message('melbo', 'test msg nick ER', 0) + """ + + witem.prnt('hello there') + global __last_witem + __last_witem = witem + global __last_server + __last_server = server + + #new = irssi.IrssiChatBase() + #print 'New', new.type_id + +def cmd_crashme(data, server, witem): + __last_server.prnt('#booh', 'what up??') + __last_witem.prnt('imma crash mebbe?') + +print dir(_script) +print _script.module +print _script.argv + +irssi.command_bind('pydumper', cmd_pydumper) +irssi.command_bind('crashme', cmd_crashme) diff --git a/scripts/hello.py b/scripts/hello.py new file mode 100644 index 0000000..fd5a814 --- /dev/null +++ b/scripts/hello.py @@ -0,0 +1,20 @@ +# type /pyload hello + +import irssi + +# data - contains the parameters for /HELLO +# server - the active server in window +# witem - the active window item (eg. channel, query) +# or None if the window is empty +def cmd_hello(data, server, witem): + if not server or not server.connected: + irssi.prnt("Not connected to server") + + if data: + server.command("MSG %s Hello!" % data) + elif isinstance(witem, irssi.Channel) or isinstance(witem, irssi.Query): + witem.command("MSG %s Hello!" % witem.name) + else: + irssi.prnt("Nick not given, and no active channel/query in window") + +irssi.command_bind('hello', cmd_hello) diff --git a/scripts/test_window.py b/scripts/test_window.py new file mode 100644 index 0000000..69521d5 --- /dev/null +++ b/scripts/test_window.py @@ -0,0 +1,50 @@ +import irssi + +win0 = None +win1 = None + +def cmd_wintest(data, server, witem): + act_win = irssi.active_win() + act_server = irssi.active_server() + + print 'active_win', act_win, 'ref', act_win.refnum + print 'active_server', act_server + + items = act_win.items() + print 'win.items()', items + + for i in items: + print i, 'window ref', i.window().refnum, 'window name', i.window().name + + print + print 'all windows' + for i in irssi.windows(): + print 'window refnum', i.refnum, 'window name', i.name + print + + f0 = irssi.window_find_name('melbo') + f1 = irssi.window_find_name('(status)') + print 'irssi.window_find_name(melbo)', f0 + print 'irssi.window_find_name(status)', f1 + +def cmd_opentest(data, server, witem): + global win0, win1 + win0 = irssi.window_create(True) + print 'window_create(True) ->', win0 + win1 = irssi.window_create(False) + print 'window_create(False) ->', win1 + +def cmd_closetest(data, server, witem): + print 'destroy win0 && win1' + win0.destroy() + win1.destroy() + +def cmd_postclose(*args): + print 'post-close access' + print win0.items() + print win1.items() + +irssi.command_bind('wintest', cmd_wintest) +irssi.command_bind('closetest', cmd_closetest) +irssi.command_bind('postclose', cmd_postclose) +irssi.command_bind('opentest', cmd_opentest) |