Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import urllib
- import urllib2
- import cookielib
- import re
- import hashlib
- import time
- """
- @author John Devola
- @version 0.01
- """
- class Thread:
- def __init__(self, refNumber, message):
- self.refNumber = refNumber
- self.message = message
- def getNumber(self):
- return self.refNumber
- def getMessage(self):
- return self.message
- class Bumper:
- def __init__(self, userName,passWord,bumpHours):
- self.jar = cookielib.FileCookieJar("cookies")
- self.opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(self.jar))
- self.opener.addheaders = [('User-agent', 'Mozilla/5.0')]
- self.user = userName
- self.password = passWord
- m = hashlib.md5()
- m.update(self.password)
- self.password = m.hexdigest()
- self.bumpHours = bumpHours
- self.threads = []
- def add_thread(self, threadNum, message):
- thread = Thread(threadNum,message);
- self.threads.append(thread)
- def toString(self):
- print self.user, self.password, self.bumpHours
- for t in self.threads:
- print t.getNumber(), t.getMessage()
- def run(self):
- while True:
- self.login()
- for t in self.threads:
- self.bumpThread(t)
- self.sleepTimer();
- def sleepTimer(self):
- counter = 0
- timeToWait = int(self.bumpHours) * 3600
- print "Waiting", timeToWait, "until next bump"
- while counter != timeToWait:
- time.sleep(600)
- counter += 600
- print (timeToWait - counter), "seconds left till next bump"
- def login(self):
- logindata = urllib.urlencode({'do' : 'login',
- 'url':'',
- 'vb_login_md5password' : self.password,
- 'vb_login_md5password_utf' : self.password,
- 's' : '',
- 'vb_login_username': self.user,
- 'vb_login_password': '' })
- response = self.opener.open("http://www.sythe.org/login.php?do=login", logindata)
- """file = open(str(self.user)+'.html','w');
- file.write(response.read());
- file.close()"""
- print "logged in as", self.user
- time.sleep(5);
- def bumpThread(self,thread):
- threadNumber = thread.getNumber()
- threadMessage = thread.getMessage()
- logindata = urllib.urlencode({'title' : 'The Thread',
- 'message' : threadMessage,
- 'wysiwyg' : '0',
- 'iconid' : '0',
- 's' : '',
- 'do' : 'postreply',
- 't' : threadNumber,
- 'p' : '',
- 'posthash' : '',
- 'poststarttime' : '',
- 'loggedinuser' : '',
- 'multiquoteempty' : '',
- 'sbutton' : 'Submit Reply',
- 'signature' : '1',
- 'parseurl' : '1',
- 'emailupdate' : '9999' })
- openThread = self.opener.open("http://www.sythe.org/newreply.php?do=postreply&t=" + str(threadNumber),logindata)
- time.sleep(15);
- """file = open(str(threadNumber)+'.html','w');
- file.write(openThread.read());
- file.close()"""
- print "Posted message to thread", threadNumber
- def getData(text):
- matches=re.findall(r'\"(.+?)\"',text)
- return ",".join(matches)
- f = open('Sythe.txt', 'r+')
- data = {}
- threads = 0
- for line in f:
- tempData = getData(line)
- key = line.replace(" = ","").replace("\n","").replace("\"","").replace(tempData,"");
- data[key] = tempData
- if("Thread" in key):
- threads += 1
- bump = Bumper(data["Username"],data["Password"],data["HoursBump"])
- for x in range(1,threads+1):
- bump.add_thread(data["Thread"+str(x)],data["Message"+str(x)])
- f.close()
- bump.run()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement