Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- from cookielib import Cookie, CookieJar
- import urllib
- import urllib2
- import json
- import collections
- import time
- import math
- import re
- import requests
- from requests.auth import HTTPDigestAuth
- import PyV8
- import mysql.connector
- cnx = mysql.connector.connect(user='root', password='PASSWORD',
- host='127.0.0.1',
- database='stats')
- cnx.autocommit = True
- cursor = cnx.cursor()
- cursor.execute("select * from stats2")
- row = cursor.fetchall()
- oldp1 = "null"
- oldp2 = "null"
- lastmatch = ""
- t = ""
- timer = 2
- def is_number(s):
- try:
- float(s)
- return True
- except ValueError:
- return False
- def loadNormalBalance():
- url = 'http://www.saltybet.com/ajax_tournament_end.php'
- cookie = {'PHPSESSID':'5u6otnvm2rkj4dtcem100bicp5', '__cfduid':'dd5e50c1a208ad31feb0e6e889a401f7c1456030509', '_ga':'GA1.2.1530606619.1428546962'}
- result = requests.get(url, cookies=cookie)
- baldata = json.loads(result.text)
- return baldata
- def loadTournamentBalance():
- url = 'http://www.saltybet.com/ajax_tournament_start.php'
- cookie = {'PHPSESSID':'5u6otnvm2rkj4dtcem100bicp5', '__cfduid':'dd5e50c1a208ad31feb0e6e889a401f7c1456030509', '_ga':'GA1.2.1530606619.1428546962'}
- result = requests.get(url, cookies=cookie)
- baldata = json.loads(result.text)
- return baldata
- url = 'http://www.saltybet.com/authenticate?signin=1'
- values = {'email' : 'EMAIL',
- 'pword' : 'PASSWORD',
- 'authenticate' : 'signin'}
- hdr = {'User-Agent': 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.64 Safari/537.11',
- 'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8',
- 'Accept-Charset': 'ISO-8859-1,utf-8;q=0.7,*;q=0.3',
- 'Accept-Encoding': 'none',
- 'Accept-Language': 'en-US,en;q=0.8',
- 'Content-Type': 'application/x-www-form-urlencoded',
- 'Content-Length': '79',
- 'Cache-Control': 'max-age=0',
- 'Connection': 'keep-alive'}
- s = requests.Session()
- s.headers = hdr
- r = s.post(url, data=values, allow_redirects=False)
- print("$$$$$ Oxbot ver 2.1 $$$$$")
- print("Credit: Oxboxrox | Latest update: 03/03/16")
- print('Loaded Oxbot')
- print("=============================================")
- print('Waiting for next match...')
- while 1:
- timer = timer - 1
- time.sleep(1)
- if timer == 0 :
- timer = 4
- url = 'http://www.saltybet.com/state.json'
- result = requests.get(url, cookies=r.cookies)
- #result is in format "{"p1name":"[p1Name]","p2name":"[p2Name]","p1total":"[pot1]","p2total":"[pot2]","status":"[open/locked]","alert":"","x":1,"remaining":"[remaining]"}"
- data = result.text
- dataSTR = str(data)
- fndr = re.search('"status":"(.+?)","alert"', dataSTR)
- if fndr:
- status = fndr.group(1)
- modefnd = re.search('"remaining":"(.+?)"', dataSTR)
- xxxfnd = re.search('"remaining":"(.+?)"', dataSTR)
- if modefnd:
- mode = modefnd.group(1)
- cookie = {'PHPSESSID':'5u6otnvm2rkj4dtcem100bicp5', '__cfduid':'dd5e50c1a208ad31feb0e6e889a401f7c1456030509', '_ga':'GA1.2.1530606619.1428546962'}
- url = "http://www.saltybet.com/ajax_get_stats"
- result1 = requests.get(url, cookies=cookie)
- data3 = result1.text
- data3STR = str(data3)
- #data3 is in format "{"p1name":"","p1totalmatches":"","p1winrate":"","p1tier":"","p1life":"","p1meter":"","p1author":"","p1palette":"","p2name":"","p2totalmatches":"","p2winrate":"","p2tier":"","p2life":"","p2meter":"","p2author":"","p2palette":""}
- namef1 = re.search('"p1name":"(.+?)","', dataSTR)
- if namef1:
- p1name = namef1.group(1)
- if "'" in p1name:
- pass #yeah the SQL database can't fuckin handle apostrophes and I'm too lazy to work around it
- totalf1 = re.search('"p1totalmatches":"(.+?)","p1winrate"', data3STR)
- if totalf1:
- p1total = totalf1.group(1)
- winf1 = re.search('"p1winrate":"(.+?)","p1tier"', data3STR)
- if winf1:
- p1win = winf1.group(1)
- tierf1 = re.search('"p1tier":"(.+?)","p1life"', data3STR)
- if tierf1:
- p1tier = tierf1.group(1)
- namef2 = re.search('"p2name":"(.+?)","', dataSTR)
- if namef2:
- p2name = namef2.group(1)
- if "'" in p2name:
- pass #see previous comment about apostrophes...
- totalf2 = re.search('"p2totalmatches":"(.+?)","p2winrate"', data3STR)
- if totalf2:
- p2total = totalf2.group(1)
- winf2 = re.search('"p2winrate":"(.+?)","p2tier"', data3STR)
- if winf2:
- p2win = winf2.group(1)
- tierf2 = re.search('"p2tier":"(.+?)","p2life"', data3STR)
- if tierf2:
- p2tier = tierf2.group(1)
- balance = loadNormalBalance()
- cursor.execute("select * from stats2 where name = '" + p1name + "'")
- p1row = cursor.fetchall()
- if str(p1row) == "[]":
- try:
- if int(p1win) >= 85:
- calcdELO = 1075
- elif int(p1win) >= 75:
- calcdELO = 1050
- elif int(p1win) >= 50:
- calcdELO = 1010
- elif int(p1win) < 50:
- calcdELO = 990
- elif int(p1win) < 40:
- calcdELO = 950
- elif int(p1win) < 30:
- calcdELO = 925
- cursor.execute("INSERT INTO stats2 (id, name, tier, winrate, totalwin, elo) VALUES (NULL, '" + p1name + "', '" + p1tier + "', '" + p1win + "', '" + p1total + "', '" + str(calcdELO) + "')")
- print("Creating new entry for " + p1name)
- cursor.execute("select * from stats2 where name = '" + p1name + "'")
- newp1row = cursor.fetchone()
- p1ELO = p1row[5]
- except (RuntimeError, TypeError, NameError, IndexError, ValueError):
- pass
- except mysql.connector.Error as err:
- pass
- else:
- cursor.execute("select * from stats2 where name = '" + p1name + "'")
- p1row = cursor.fetchone()
- p1ELO = p1row[5]
- cursor.execute("select * from stats2 where name = '" + p2name + "'")
- p2row = cursor.fetchall()
- if str(p2row) == "[]":
- try:
- if int(p2win) >= 85:
- calcdELO2 = 1075
- elif int(p2win) >= 75:
- calcdELO2 = 1050
- elif int(p2win) >= 50:
- calcdELO2 = 1010
- elif int(p2win) < 50:
- calcdELO2 = 990
- elif int(p2win) < 40:
- calcdELO2 = 950
- elif int(p2win) < 30:
- calcdELO2 = 925
- cursor.execute("INSERT INTO stats2 (id, name, tier, winrate, totalwin, elo) VALUES (NULL, '" + p2name + "', '" + p2tier + "', '" + p2win + "', '" + p2total + "', '" + str(calcdELO2) + "')")
- print("Creating new entry for " + p2name)
- cursor.execute("select * from stats2 where name = '" + p2name + "'")
- newp2row = cursor.fetchone()
- p2ELO = newp2row[5]
- except (RuntimeError, TypeError, NameError, IndexError, ValueError):
- pass
- except mysql.connector.Error as err:
- pass
- else:
- cursor.execute("select * from stats2 where name = '" + p2name + "'")
- p2row = cursor.fetchone()
- p2ELO = p2row[5]
- if status == "1" or status == "2":
- if p1name != oldp1 or p2name != oldp2:
- oldp1 = p1name
- oldp2 = p2name
- cursor.execute("select * from stats2 where name = '" + oldp1 + "'")
- p1row = cursor.fetchall()
- if str(p1row) == "[]":
- try:
- cursor.execute("INSERT INTO stats2 (id, name, tier, winrate, totalwin, elo) VALUES (NULL, '" + p1name + "', '" + p1tier + "', '" + p1win + "', '" + p1total + "', 1000)")
- print("Creating new entry for " + oldp1)
- p1ELO = 1000
- except (RuntimeError, TypeError, NameError, IndexError, ValueError):
- pass
- except mysql.connector.Error as err:
- pass
- else:
- cursor.execute("select * from stats2 where name = '" + oldp1 + "'")
- p1row = cursor.fetchone()
- p1ELO = p1row[5]
- cursor.execute("select * from stats2 where name = '" + oldp2 + "'")
- p2row = cursor.fetchall()
- if str(p2row) == "[]":
- try:
- cursor.execute("INSERT INTO stats2 (id, name, tier, winrate, totalwin, elo) VALUES (NULL, '" + p2name + "', '" + p2tier + "', '" + p2win + "', '" + p2total + "', 1000)")
- print("Creating new entry for " + oldp2)
- p2ELO = 1000
- except (RuntimeError, TypeError, NameError, IndexError, ValueError):
- pass
- except mysql.connector.Error as err:
- pass
- else:
- try:
- cursor.execute("select * from stats2 where name = '" + oldp2 + "'")
- p2row = cursor.fetchone()
- p2ELO = p2row[5]
- except (RuntimeError, TypeError, NameError, IndexError, ValueError):
- pass
- except mysql.connector.Error as err:
- pass
- if status == "1":
- try:
- if int(p1ELO) > int(p2ELO):
- newELO1 = str(int(p1ELO) + 25)
- newELO2 = str(int(p2ELO) - 25)
- elif int(p1ELO) < int(p2ELO):
- newELO1 = str(int(p1ELO) + 75)
- newELO2 = str(int(p2ELO) - 50)
- else:
- newELO1 = str(int(p1ELO) + 50)
- newELO2 = str(int(p1ELO) - 25)
- cursor.execute("UPDATE stats2 SET elo = '" + newELO1 + "' where name = '" + oldp1 + "'")
- cursor.execute("UPDATE stats2 SET elo = '" + newELO2 + "' where name = '" + oldp2 + "'")
- print(p1name + " wins! Updating ELO. New ELO for " + p1name + ": [" + newELO1 + "]")
- print(p2name + " loses... Updating ELO. New ELO for " + p2name + ": [" + newELO2 + "]")
- print("=============================================")
- except (RuntimeError, TypeError, NameError, IndexError, ValueError):
- pass
- except mysql.connector.Error as err:
- pass
- else:
- try:
- if int(p1ELO) > int(p2ELO):
- newELO1 = str(int(p1ELO) - 50)
- newELO2 = str(int(p2ELO) + 75)
- elif int(p1ELO) < int(p2ELO):
- newELO1 = str(int(p1ELO) - 25)
- newELO2 = str(int(p2ELO) + 25)
- else:
- newELO1 = str(int(p1ELO) - 25)
- newELO2 = str(int(p1ELO) + 50)
- cursor.execute("UPDATE stats2 SET elo = '" + newELO1 + "' where name = '" + oldp1 + "'")
- cursor.execute("UPDATE stats2 SET elo = '" + newELO2 + "' where name = '" + oldp2 + "'")
- print(p2name + " wins! Updating ELO. New ELO for " + p2name + ": [" + newELO2 + "]")
- print(p1name + " loses... Updating ELO. New ELO for " + p1name + ": [" + newELO1 + "]")
- print("=============================================")
- except (RuntimeError, TypeError, NameError, IndexError, ValueError):
- pass
- except mysql.connector.Error as err:
- pass
- if status == "open":
- try:
- balance = loadNormalBalance()
- tourbal = loadTournamentBalance()
- cursor.execute("select * from stats2 where name = '" + p1name + "'")
- p1row = cursor.fetchall()
- if str(p1row) == "[]":
- try:
- if int(p1win) >= 85:
- calcdELO = 1075
- elif int(p1win) >= 75:
- calcdELO = 1050
- elif int(p1win) >= 50:
- calcdELO = 1010
- elif int(p1win) < 50:
- calcdELO = 990
- elif int(p1win) < 40:
- calcdELO = 950
- elif int(p1win) < 30:
- calcdELO = 925
- cursor.execute("INSERT INTO stats2 (id, name, tier, winrate, totalwin, elo) VALUES (NULL, '" + p1name + "', '" + p1tier + "', '" + p1win + "', '" + p1total + "', '" + str(calcdELO) + "')")
- print("Creating new entry for " + p1name)
- cursor.execute("select * from stats2 where name = '" + p1name + "'")
- newp1row = cursor.fetchone()
- p1ELO = newp1row[5]
- except (RuntimeError, TypeError, NameError, IndexError, ValueError):
- pass
- except mysql.connector.Error as err:
- pass
- else:
- try:
- cursor.execute("select * from stats2 where name = '" + p1name + "'")
- p1row = cursor.fetchone()
- p1ELO = p1row[5]
- except (RuntimeError, TypeError, NameError, IndexError, ValueError):
- pass
- except mysql.connector.Error as err:
- pass
- cursor.execute("select * from stats2 where name = '" + p2name + "'")
- p2row = cursor.fetchall()
- if str(p2row) == "[]":
- try:
- if int(p2win) >= 85:
- calcdELO2 = 1075
- elif int(p2win) >= 75:
- calcdELO2 = 1050
- elif int(p2win) >= 50:
- calcdELO2 = 1010
- elif int(p2win) < 50:
- calcdELO2 = 990
- elif int(p2win) < 40:
- calcdELO2 = 950
- elif int(p2win) < 30:
- calcdELO2 = 925
- cursor.execute("INSERT INTO stats2 (id, name, tier, winrate, totalwin, elo) VALUES (NULL, '" + p2name + "', '" + p2tier + "', '" + p2win + "', '" + p2total + "', '" + str(calcdELO2) + "')")
- print("Creating new entry for " + p2name)
- cursor.execute("select * from stats2 where name = '" + p2name + "'")
- newp2row = cursor.fetchone()
- p2ELO = newp2row[5]
- except (RuntimeError, TypeError, NameError, IndexError, ValueError):
- pass
- except mysql.connector.Error as err:
- pass
- else:
- try:
- cursor.execute("select * from stats2 where name = '" + p2name + "'")
- p2row = cursor.fetchone()
- p2ELO = p2row[5]
- except (RuntimeError, TypeError, NameError, IndexError, ValueError):
- pass
- except mysql.connector.Error as err:
- pass
- if lastmatch != p1name + " vs " + p2name:
- lastmatch = p1name + " vs " + p2name
- wagerper = math.fabs(p1ELO-p2ELO) / 2000
- if wagerper > 0.3:
- wagerper = 0.2
- if wagerper == 0.0:
- wagerper = 0.1
- if wagerper < 0.08:
- wagerper = 0.08
- if float(balance) > 250000:
- if wagerper == 0.0:
- wagerper = 0.08
- if wagerper < 0.08:
- wagerper = 0.08
- if float(balance) > 200000:
- if wagerper > 0.15:
- wagerper = 0.15
- if float(balance) < 100000:
- if wagerper < 0.20:
- wagerper = 0.20
- if wagerper == 0.0:
- wagerper = 0.20
- if p1tier == "B":
- wagerper = 0.06
- if p1tier == "X":
- wagerper = 0.025
- print ("Player 1: " + p1name + "(" + p1tier + ", " + p1win + "%)" + "[" + str(p1ELO) + "]")
- print ("Player 2: " + p2name + "(" + p2tier + ", " + p2win + "%)" + "[" + str(p2ELO) + "]")
- print("Full Balance: $" + str(balance))
- print("Tournament Balance: $" + str(tourbal))
- print("Wager rate: " + str(wagerper))
- wager = int(math.floor(float( balance )*wagerper))
- if float(balance) < 50000:
- wager = int(balance)
- if float(balance) > 1000000:
- if wager > 100000:
- wager = 100000
- if wager < 25000:
- wager = 25000
- if int(p1ELO) > int(p2ELO):
- player = "player1"
- elif int(p1ELO) < int(p2ELO):
- player = "player2"
- elif p1win > p2win:
- player = "player1"
- elif p1win < p2win:
- player = "player2"
- mode = ""
- xxxfnd = re.search('"remaining":"(.+?)"', dataSTR)
- if xxxfnd:
- xxx=xxxfnd.group(1)
- if "the next tournament" in xxx:
- mode = "Matchmaking"
- elif "exhibition" in xxx:
- mode = "Exhibitions"
- elif "the next exhibition" in xxx:
- mode = "Exhibitions"
- elif "bracket" in xxx or "FINAL ROUND" in xxx:
- mode = "Tournament"
- if mode == "Exhibitions":
- wager = 1
- if float(balance) > 200000:
- wager = 100
- if mode == "Tournament":
- wager = tourbal
- if player == "player1":
- print("Betting ("+str(wager)+") on " + p1name)
- print(xxx)
- print("=============================================")
- elif player == "player2":
- print("Betting ("+str(wager)+") on " + p2name)
- print(xxx)
- print("=============================================")
- else:
- if player == "player1":
- print("Betting ("+str(wager)+") on " + p1name)
- print(xxx)
- print("=============================================")
- elif player == "player2":
- print("Betting ("+str(wager)+") on " + p2name)
- print(xxx)
- print("=============================================")
- url = "http://www.saltybet.com/ajax_place_bet"
- values = {'radio' : 'on',
- 'selectedplayer' : player,
- 'wager' : wager,
- 'cmd': '_s-xclick'}
- result = requests.post(url, data=values, cookies=r.cookies)
- except (RuntimeError, TypeError, NameError, IndexError, ValueError):
- pass
- except mysql.connector.Error as err:
- pass
- cursor.close()
- cnx.close()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement