Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/usr/bin/env python
- from __future__ import print_function
- import re
- import urllib2
- import xchat
- __module_name__ = "altwfc stats"
- __module_version__ = "0.01a"
- __module_description__ = "Checks the stats page for a gamecode [/stat]"
- print("\0034", __module_name__, __module_version__, "(/stat) loading...\003")
- wordlist = open('path\to\list.txt','r').read().split('\n')
- data = urllib2.Request("http://75.127.5.215:9001")
- opener = urllib2.build_opener()
- source = opener.open(data).read()
- def delayed_say(text, context):
- def on_timer(userdata):
- context.command("SAY " + text)
- return 0
- xchat.hook_timer(1, on_timer)
- def stat(word, word_eol, userdata):
- if re.search('^!stat$', word[1], re.IGNORECASE):
- delayed_say(str(re.findall("<tr><td>((?:[a-zA-Z0-9]|)+?)</td><td><center>", source, re.IGNORECASE)).replace("'Game ID', ",'').replace('[','').replace(']',''), xchat.get_context())
- elif re.search('^!stat ', word[1], re.IGNORECASE):
- word = re.findall('^!stat (.+?)$', word[1], re.IGNORECASE).pop()
- # data.add_header('User-Agent', 'Mozilla/5.0 () Gecko/20091221 Firefox/4.0.0 GTB6 ()')
- try:
- up = re.findall('<tr><td>((?:[a-zA-Z0-9]|)+?'+re.escape(word)+'(?:[a-zA-Z0-9]|)+?)</td><td><center>(.+?)</center></td></tr>', source, re.IGNORECASE)
- if len(up) > 1:
- delayed_say("Choose one: "+str(re.findall("<tr><td>((?:[a-zA-Z0-9]|)+?"+re.escape(word)+"(?:[a-zA-Z0-9]|)+?)</td><td><center>", source, re.IGNORECASE)).replace("'Game ID', ",'').replace('[','').replace(']',''), xchat.get_context())
- else:
- up = up.pop()
- if int(up[1]) == 1:
- delayed_say(up[0]+" has "+up[1]+" player.", xchat.get_context())
- else:
- delayed_say(up[0]+" has "+up[1]+" players.", xchat.get_context())
- except IndexError:
- try:
- for i in wordlist:
- i = i.split('\t')
- if word.lower() in i[0].lower():
- word = i[1]
- up = re.findall('<tr><td>((?:[a-zA-Z0-9]|)+?'+re.escape(word)+'(?:[a-zA-Z0-9]|)+?)</td><td><center>(.+?)</center></td></tr>', source, re.IGNORECASE)
- if len(up) > 1:
- delayed_say("Choose one: "+str(re.findall("<tr><td>((?:[a-zA-Z0-9]|)+?"+re.escape(word)+"(?:[a-zA-Z0-9]|)+?)</td><td><center>", source, re.IGNORECASE)).replace("'Game ID', ",'').replace('[','').replace(']',''), xchat.get_context())
- else:
- up = up.pop()
- if int(up[1]) == 1:
- delayed_say(up[0]+" has "+up[1]+" player.", xchat.get_context())
- else:
- delayed_say(up[0]+" has "+up[1]+" players.", xchat.get_context())
- except IndexError:
- delayed_say("No matches/players for "+word+".", xchat.get_context())
- xchat.hook_print("Channel Message", stat)
- xchat.hook_print("Your Message", stat)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement