diff options
| author | Lieuwe <lieuwemo@gmail.com> | 2011-03-06 14:39:50 (GMT) |
|---|---|---|
| committer | Lieuwe <lieuwemo@gmail.com> | 2011-03-06 14:39:50 (GMT) |
| commit | f599959efed6cb87d25382f54c6657094603dcc5 (patch) | |
| tree | db7a736c96a907178d9eaccc5b1255a33ea3efc8 /build/ext_chat.py | |
| parent | d619204d589281b824c8e689ad35429a56a9cd47 (diff) | |
| download | powder-f599959efed6cb87d25382f54c6657094603dcc5.zip powder-f599959efed6cb87d25382f54c6657094603dcc5.tar.gz | |
more work on the chat client, it now supports nick changes
Diffstat (limited to 'build/ext_chat.py')
| -rw-r--r-- | build/ext_chat.py | 52 |
1 files changed, 39 insertions, 13 deletions
diff --git a/build/ext_chat.py b/build/ext_chat.py index 0c8d14c..baf8189 100644 --- a/build/ext_chat.py +++ b/build/ext_chat.py @@ -12,19 +12,25 @@ if(name==""): #fuck. abort? raise SystemExit("please log in!") NICK=name+"[tpt]" -IDENT=name +IDENT=name+"[tpt]" REALNAME=name -CHANNEL="#powder" +CHANNEL="#foobar7" readbuffer="" def raw(s,st): s.send("%s\n\r"%st) -frame=0 -s=None -rec=[("connected.",255,0,0,128)] -readbuffer="" -namelist=[] +def init(): + global frame,s,rec,readbuffer,namelist + frame=0 + s=None + rec=[("connected.",255,0,0,128)] + readbuffer="" + namelist=[] + +def exit(): + raw(s,"QUIT") + s.close() def console_handle(txt): """ @@ -77,7 +83,7 @@ def step(): for line in temp: line=line.strip() - #print repr(line) + print repr(line) line=line.split() if(line[1]=="PRIVMSG"): #:doxin!~lieuwe@unaffiliated/lieuwe PRIVMSG doxin[tpt] :some shit @@ -111,15 +117,34 @@ def step(): elif(line[1]=="JOIN"): #':savask!~savask@95-190-25-195-xdsl-dynamic.kuzbass.net JOIN :#powder' tmp=line[0][1:].partition("!")[0] - namelist.append(tmp) + namelist.append((tmp,255,255,255,128)) rec.append(("%s joined"%name,0,255,0,128)) - elif(line[1]=="part"): + elif(line[1]=="PART"): #':savask!~savask@95-190-25-195-xdsl-dynamic.kuzbass.net PART #powder :"Leaving."' tmp=line[0][1:].partition("!")[0] msg=' '.join(line[2:])[1:] - if(tmp in namelist): - namelist.remove(tmp) - rec.append("%s parted: %s"%(name,msg),0,255,0,128) + rem=None + for item in namelist: + if(item[0]==tmp or item[0]=="@"+tmp): + rem=item + rec.append(("%s parted: %s"%(name,msg),0,255,0,128)) + if(rem!=None): + namelist.remove(rem) + elif(line[1]=="NICK"): + #:doxin!~lieuwe@unaffiliated/lieuwe NICK :d0x1n + tmp=line[0][1:].partition("!")[0] + rem=None + for item in namelist: + if(item[0]==tmp or item[0]=="@"+tmp): + rem=item + rec.append(("%s is now known as %s"%(name,line[2]),0,255,0,128)) + if(rem!=None): + if(rem[0][0]=="@"): + namelist.append(("@"+line[2][1:],rem[1],rem[2],rem[3],rem[4])) + else: + namelist.append((line[2][1:],rem[1],rem[2],rem[3],rem[4])) + namelist.remove(rem) + @@ -129,6 +154,7 @@ def step(): for item in rec: tpt.draw_text(8,yy,item[0],item[1],item[2],item[3],item[4]) yy+=8 + #print namelist yy=32 for item in namelist: tpt.draw_text(604-tpt.get_width(item[0]),yy,item[0],item[1],item[2],item[3],item[4]) |
