summaryrefslogtreecommitdiff
path: root/build/ext_chat.py
diff options
context:
space:
mode:
authorLieuwe <lieuwemo@gmail.com>2011-03-06 14:39:50 (GMT)
committer Lieuwe <lieuwemo@gmail.com>2011-03-06 14:39:50 (GMT)
commitf599959efed6cb87d25382f54c6657094603dcc5 (patch)
treedb7a736c96a907178d9eaccc5b1255a33ea3efc8 /build/ext_chat.py
parentd619204d589281b824c8e689ad35429a56a9cd47 (diff)
downloadpowder-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.py52
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])