[ create a new paste ] login | about

Project: alcari
Link: http://alcari.codepad.org/gomc0tgN    [ raw code | fork ]

Python, pasted on Mar 21:
1
(globals().update({'imp':lambda n:(globals().update({n:__import__(n)}),globals()[n])[1],'text':lambda t:t.get_text()}),imp('gtk'),imp('gobject'),imp('socket'),imp('time'),globals().update({'lmao':imp('new').classobj('AlcariLobby',(),{'set':lambda self,x:self.__dict__.update(x),'delevt':lambda self,*a:(False,gobject.source_remove(self.pingid),self.sock.shutdown(socket.SHUT_WR),gtk.main_quit()),'__init__':lambda self:(None,self.__dict__.update({'info':gtk.Dialog('User Info',None,gtk.DIALOG_MODAL,(gtk.STOCK_CANCEL,gtk.RESPONSE_REJECT,gtk.STOCK_OK,gtk.RESPONSE_ACCEPT)),'server':gtk.Entry(),'port':gtk.Entry(),'uname':gtk.Entry(),'pw':gtk.Entry(),'chan':gtk.Entry(),}),self.server.set_text('taspringmaster.clan-sy.com'),self.port.set_text('8200'),self.uname.set_text('b_'),self.chan.set_text('bots'),self.info.vbox.add(self.server),self.info.vbox.add(self.port),self.info.vbox.add(self.uname),self.info.vbox.add(self.pw),self.info.vbox.add(self.chan),self.server.show(),self.port.show(),self.uname.show(),self.pw.show(),self.chan.show(),quit()if self.info.run()==gtk.RESPONSE_REJECT else 0,self.info.destroy(),self.set({'window':gtk.Window(gtk.WINDOW_TOPLEVEL),'textbuffer':gtk.TextBuffer(),'text':gtk.TextView(),'inputbox':gtk.Entry(),'sock':socket.create_connection((self.server.get_text(),int(self.port.get_text()))),'box':gtk.HBox(),'lbox':gtk.VBox(),'rbox':gtk.VBox(),'sep':gtk.HSeparator(),'vsep':gtk.VSeparator(),'pingid':gobject.timeout_add(20000,self.ping),'buf':'','chan':self.chan.get_text(),'users':gtk.ListStore(str,str),'userdict':{},'auto':True,'scroll':gtk.ScrolledWindow(),'uscroll':gtk.ScrolledWindow(),'namecol':gtk.TreeViewColumn('Name'),'ctrycol':gtk.TreeViewColumn('Country'),'cell':gtk.CellRendererText(),}),self.set({'userlist':gtk.TreeView(self.users),'sockfile':self.sock.makefile(),}),self.set({'recvid':gobject.io_add_watch(self.sockfile,gobject.IO_IN,self.recv)}),self.sock.setblocking(1),self.sock.send('login %s %s 1000 * it\n'%(text(self.uname),imp('base64').b64encode(imp('hashlib').md5(text(self.pw)).digest()))),self.sock.send('JOIN %s\n'%self.chan),self.text.set_buffer(self.textbuffer),self.text.set_editable(False),self.text.set_wrap_mode(gtk.WRAP_WORD),self.scroll.set_policy(gtk.POLICY_AUTOMATIC,gtk.POLICY_ALWAYS),self.uscroll.set_policy(gtk.POLICY_AUTOMATIC,gtk.POLICY_ALWAYS),self.window.add(self.box),self.box.pack_start(self.lbox),self.box.pack_start(self.vsep,False),self.box.pack_start(self.rbox),self.box.show(),self.scroll.add(self.text),self.scroll.get_vscrollbar().get_adjustment().connect('changed',self.autoscroll),self.uscroll.add(self.userlist),self.rbox.pack_start(self.uscroll),self.uscroll.show(),self.lbox.pack_start(self.scroll),self.lbox.pack_start(self.sep,False),self.lbox.pack_end(self.inputbox,False),self.lbox.show(),self.text.show(),self.sep.show(),self.vsep.show(),self.inputbox.show(),self.scroll.show(),self.rbox.show(),self.namecol.pack_start(self.cell,True),self.namecol.add_attribute(self.cell,'text',0),self.ctrycol.pack_start(self.cell,True),self.ctrycol.add_attribute(self.cell,'text',1),self.users.set_sort_column_id(0,gtk.SORT_ASCENDING),self.userlist.append_column(self.namecol),self.userlist.append_column(self.ctrycol),self.userlist.set_search_column(0),self.userlist.show(),self.window.connect('delete_event',self.delevt),self.inputbox.connect('activate',self.say),self.window.set_default_size(800,600),self.set({'adj':self.scroll.get_vscrollbar().get_adjustment()}),self.window.show())[0],'ping':lambda self:(True,self.sock.send('PING\n'))[0],'say':lambda self,t:(True,(self.sock.send('SAY%s %s %s\n'%(('EX',self.chan,text(t)[4:])if text(t).startswith('/me')else ('',self.chan,text(t)))),t.set_text('')))[0],'delname':lambda self,name:(self.users.remove([x for x in self.users if x[0]==name][0].iter)),'tobuf':lambda self,text:self.textbuffer.insert(self.textbuffer.get_end_iter(),time.strftime('[%H:%M:%S] ')+text),'recv':lambda self,f=None,c=None:(self.set({'buf':self.buf+self.sock.recv(128)}),[(self.set({'auto':True})if self.adj.value==self.adj.upper-self.adj.page_size else self.set({'auto':0}),self.tobuf( 	('<'+'> '.join(cmd[6+len(self.chan):].split(' ',1))if not cmd.startswith('SAIDEX')else '* '+cmd[7+len(self.chan):] )+'\n' )if cmd.startswith('SAID')else 0,self.userdict.update( {cmd.split()[1]:cmd.split()[2]} )if cmd.startswith('ADDUSER')else 0,(self.userdict.__delitem__(cmd.split()[1]))if cmd.startswith('REMOVEUSER')else 0,[self.users.append((u,self.userdict[u]))for u in cmd.split()[2:]] if cmd.startswith('CLIENTS ')else 0,(self.users.append((cmd.split()[2],self.userdict[cmd.split()[2]])),self.tobuf('** %s joined the channel.\n'%cmd.split()[2]))if cmd.startswith('JOINED ')else 0,(self.delname(cmd.split()[2]),self.tobuf('** %s left the channel(%s).\n'%(cmd.split()[2],cmd.split(' ',3)[-1])))if cmd.startswith('LEFT ')else 0,self.tobuf('Topic for %s:%s\n Set by %s on %s.\n'%(cmd.split()[1],cmd.split(' ',4)[4],cmd.split(' ',4)[2],time.ctime(float(cmd.split(' ',4)[3][:-3]))))if cmd.startswith('CHANNELTOPIC ')else 0)for cmd in self.buf.split('\n')[:-1]],self.set({'buf':self.buf.split('\n')[-1]})),'autoscroll':lambda self,msg:(False,(self.adj.set_value(self.adj.upper-self.adj.page_size))if self.auto else 0)[0],})}),lmao(),gtk.main())


Create a new paste based on this one


Comments: