Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # -*- coding: utf-8 -*-
- import websocket,urllib,urllib2,time,threading,json,unicodedata
- debug=True
- showmessages=True
- name="Cube Clamperl"
- password= hm, no.
- room="lobby"
- print 'test1'
- #ws=websocket.create_connection("ws://sim.smogon.com:8000/showdown/websocket")
- ws=websocket.create_connection("ws://pokestrat.com:8000/showdown/websocket")
- print 'test2'
- ws.recv()
- txt=ws.recv()
- Ptool=[i for i in range(len(txt)) if txt[i]=='|']
- data = urllib.urlencode({'act': 'login', 'name': name, 'pass' : password, 'challengekeyid': txt[Ptool[1]+1], 'challenge':txt[Ptool[2]+1:]})
- req = urllib2.Request("http://play.pokemonshowdown.com/action.php", data, { 'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/36.0.1985.125 Safari/537.36)' })
- response = urllib2.urlopen(req)
- result = response.read()
- Ptool2=[i for i in range(len(result)) if result[i]=='"']
- assertion=result[Ptool2[-2]+1:Ptool2[-1]]
- ws.send("|/trn %s,0,%s" % (name, assertion) )
- time.sleep(2)
- ws.send("|/join "+room)
- ws.send(room+"|/avatar 267")
- #ws.send(room+"|Hello, world !")
- def parse(text,character,stopat=0):
- if stopat:
- p=[-1]+[i for i in range(len(text)) if text[i]==character][:(stopat-1)]+[len(text)]
- else:
- p=[-1]+[i for i in range(len(text)) if text[i]==character]+[len(text)]
- l=[]
- for i in range(len(p)-1):
- l+=[ text[ p[i]+1:p[i+1] ] ]
- return l
- class ThreadReception(threading.Thread):
- def ___init___(self):
- threading.Thread.__init__(self)
- def run(self):
- condition=True
- while condition:
- message=ws.recv()
- if showmessages:
- print message
- analysis(message)
- th.__Thread__.stop()
- ws.close()
- def analysis(message):
- nparsed=parse(message,"\n")
- if len(nparsed)<6:
- for i in nparsed:
- analysischat(i)
- # elif nparsed[0][:4]=="|pm|":
- # analysis5(nparsed[0])
- # if debug: print 7
- def analysischat(line):
- parsed=parse(line,"|",stopat=5)
- if len(parsed)>1 and parsed[1]=="c:":
- if parsed[4][:5]=="!trad":
- if parsed[4][5]==" ":
- data=parsed[4][6:]
- fr_to_us=json.loads( urllib.urlopen("http://pokemontrash.com/api/fr/to/us/"+data).read() )
- if fr_to_us['exists']:
- ws.send(room+"|"+fr_to_us['from']+" : "+fr_to_us['to'])
- else:
- us_to_fr=json.loads( urllib.urlopen("http://pokemontrash.com/api/us/to/fr/"+data).read() )
- if us_to_fr['exists']:
- ws.send(room+"|"+us_to_fr['from']+" : "+us_to_fr['to'])
- else:
- ws.send(room+"|Erreur.")
- else:
- try:
- data=parsed[4][10:]
- dic=json.loads( urllib.urlopen("http://pokemontrash.com/api/"+parsed[4][5:7]+"/to/"+parsed[4][7:9]+"/"+data).read() )
- if dic['exists']:
- ws.send(room+"|"+dic['from']+" : "+dic['to'])
- else:
- ws.send(room+"|Erreur.")
- except:
- ws.send(room+"|Les id de langages disponibles sont : de it fr us es")
- if parsed[4][:6]=="!strat":
- shiftedtxt=''
- txt=parsed[4][7:].lower().decode('unicode-escape')
- hope=''.join((c for c in unicodedata.normalize('NFD', txt) if unicodedata.category(c) != 'Mn'))
- for i in hope:
- if i==' ':
- shiftedtxt+='-'
- else:
- shiftedtxt+=i
- ws.send(room+"|http://pokestrat.com/fiche_pokemon/"+shiftedtxt+".php")
- th=ThreadReception()
- time.sleep(4)
- th.start()
Advertisement
Add Comment
Please, Sign In to add comment