roblox resellers
import json
import requests
import datetime
import time
import re
from threading import Thread
from bs4 import BeautifulSoup
Roblox Resellers
class Gear(object):
def __init__(self):
self.MELEE = 0
roblox resellers check more roblox resellers
self.RANGED = 1
self.EXPLOSIVE = 2
self.POWERUP = 3
self.NAVIGATION = 4
self.MUSICAL = 5
self.SOCIAL = 6
class Subcategory(object):
def __init__(self):
self.FEATURED = 0
self.ALL = 1
roblox resellers best of roblox resellers
self.COLLECTIBLES = 2
self.CLOTHING = 3
self.BODYPARTS = 4
self.GEAR = 5
self.MODELS = 6
self.PLUGINS = 7
self.DECALS = 8
self.HATS = 9
self.FACES = 10
self.PACKAGES = 11
roblox resellers roblox resellers
self.SHIRTS = 12
self.TSHIRTS = 13
self.PANTS = 14
self.HEADS = 15
self.AUDIO = 16
self.ROBLOXCREATED = 17
self.MESHES = 18
class Genre(object):
def __init__(self):
self.ALL = 0
roblox resellers check more roblox resellers
self.TOWNANDCITY = 1
self.MEDIEVAL = 2
self.SCIFI = 3
self.FIGHTING = 4
self.HORROR = 5
self.NAVAL = 6
self.ADVENTURE = 7
self.SPORTS = 8
self.COMEDY = 9
self.WESTERN = 10
roblox resellers informational roblox resellers
self.MILITARY = 11
self.SKATING = 12
self.BUILDING = 13
self.FPS = 14
self.RPG = 15
class Category(object):
def __init__(self):
self.FEATURED = 0
self.ALL = 1
self.COLLECTIBLES = 2
roblox resellers roblox resellers
self.CLOTHING = 3
self.BODYPARTS = 4
self.GEAR = 5
self.MODELS = 6
self.PLUGINS = 7
self.DECALS = 8
self.AUDIO = 9
self.MESHES = 10
class Currency(object):
def __init__(self):
roblox resellers best of roblox resellers
self.ALL = 0
self.ROBUX = 1
self.FREE = 2
class Sort(object):
def __init__(self):
self.RELEVANCE = 0
self.MOSTFAVORITED = 1
self.BESTSELLING = 2
self.RECENTLYUPDATED = 3
self.PRICELOWTOHIGH = 4
roblox resellers check more roblox resellers
self.PRICEHIGHTOLOW = 5
class Time(object):
def __init__(self):
self.PASTDAY = 0
self.PASTWEEK = 1
self.PASTMONTH = 2
self.ALLTIME = 3
class RobloxApiClient(object):
roblox resellers best of roblox resellers
def __init__(self):
self.s = requests.session()
self.token = None
def friends(self,id1,id2):
t = self.s.get(‘
t=t.replace(”,”)
t=t.replace(”,”)
if t == ‘true’:
return True
else:
roblox resellers check more roblox resellers
return False
def name(self,iyd):
r = self.s.get(‘
jdict = json.loads(r.text)
return jdict[“Username”]
def assetComments(self,id1):
r = self.s.get(‘
js = json.loads(r.text)
return js
roblox resellers informational roblox resellers
def catalogSearch(self,geartype = -1, genre = -1, subcategory = -1, category = -1, currency = -1, sort = -1, freq = -1, keyword = None, creatorID = None, minim = 0, maxim = None, notforsale = True, pagenumber = -1, resultsperpage = -1):
req = ‘
if geartype != -1:
req += ‘&Gears={}’.format(geartype)
if genre != -1:
req += ‘&Genres={}’.format(genre)
if subcategory != -1:
req += ‘&Subcategory={}’.format(subcategory)
if category != -1:
roblox resellers roblox resellers
req += ‘&Category={}’.format(category)
if currency != -1:
req += ‘&CurrencyType={}’.format(currency)
if sort != -1:
req += ‘&SortType={}’.format(sort)
if freq != -1:
req += ‘&AggregationFrequency={}’.format(freq)
if keyword != None:
req += ‘&Keyword={}’.format(keyword)
if creatorID != None:
roblox resellers check more roblox resellers
req += ‘&CreatorID={}’.format(creatorID)
req += ‘&PxMin={}’.format(minim)
if maxim != None:
req += ‘&PxMax={}’.format(maxim)
if notforsale:
req += ‘&IncludeNotForSale=true’
else:
req += ‘&IncludeNotForSale=false’
if pagenumber != -1:
req += ‘&PageNumber={}’.format(pagenumber)
roblox resellers informational roblox resellers
if resultsperpage != -1:
req += ‘&ResultsPerPage={}’.format(resultsperpage)
r = self.s.get(req)
return json.loads(r.text)
def getFriends(self,userid):
return self.s.get(‘
def friendCrawl(self,userid, maxfr = 100):
usercount = 0
users = []
roblox resellers informational roblox resellers
friendlist1 = getFriends(userid)
for friend in friendlist1:
if len(users) < maxfr:
if self.s.get(' != 404:
users.append({‘Id’:friend[‘Id’],’Username’:friend[‘Username’]})
usercount += 1
print(“Users: “+ str(usercount))
else:
return users
for user in users:
roblox resellers informational roblox resellers
req = self.s.get(“
if req.status_code != 404:
friendlist1 = json.loads(req.text)
else:
pass
for friend in friendlist1:
if len(users) < maxfr:
if self.s.get(' != 404:
d = {‘Id’:friend[‘Id’],’Username’:friend[‘Username’]}
if d not in users:
roblox resellers informational roblox resellers
users.append(d)
usercount += 1
print(“Users: “+ str(usercount))
else:
return users
def getCurrentStatus(self):
return self.s.get(‘
def getUserPresence(self,userid):
roblox resellers roblox resellers
return self.s.get(‘
def createAccount(self,username,password,birthday,gender = 2): #birthday is a datetime object
params = {
“isEligibleForHideAdsAbTest”:False,
“username”:username,
“password”:password,
“birthday”: birthday.strftime(“%d %b %Y”).lstrip(“0″).replace(” 0″, ” “),
“gender”: gender, #1 for female, 2 for male
“context”:”RollerCoasterSignupForm”
roblox resellers best of roblox resellers
}
print(params)
r = self.s.post(“ = params)
return r
def getItemInfo(self,itemid):
return self.s.get(“
def buyItem(self,itemid):
info = self.getItemInfo(itemid)
roblox resellers best of roblox resellers
url=” 0 if info[“PriceInRobux”] == None else info[“PriceInRobux”],info[“Creator”][“Id”])
self.token = self.s.post(url).headers[‘X-CSRF-TOKEN’]
r = self.s.post(url, headers = {“X-CSRF-TOKEN”:self.token})
return r
def logIn(self,username,password,returnurl = “”):
r = self.s.post(“ In”,”ReturnUrl”:returnurl})
return r
def giveBadge(self,userid,badgeid,placeid):
roblox resellers roblox resellers
return self.s.post(“ data = {‘userId’:userid,’badgeId’:badgeid,’placeId’:placeid}).json()
def getVersions(self,itemid):
return self.s.get(“
def getCurrency(self):
return self.s.get(“
def setXsrfToken(self):
r = self.s.get(“
roblox resellers best of roblox resellers
tok = r.text[r.text.find(“Roblox.XsrfToken.setToken(‘”) + 27::]
tok = tok[:tok.find(“‘);”):]
self.token = tok
return tok
def sendMessage(self,subject,body,recipientid):
if not self.token:
self.setXsrfToken()
r = self.s.post(‘ = {‘Content-Type’:”application/x-www-form-urlencoded; charset=UTF-8″,”X-CSRF-TOKEN”:self.token}, data = {“subject”:subject,”body”:body,”recipientid”:recipientid,”cacheBuster”:round(time.time(),3)})
return r
roblox resellers check more roblox resellers
def forumPost(self,forumid,subject,body,disablereplies = False): #currently nonfunctional
earl = “
view = self.s.get(earl)
soup = BeautifulSoup(view.text,’html.parser’)
params = {
“__EVENTTARGET” : ”,
“__EVENTARGUMENT”: ”,
‘__VIEWSTATE’:soup.find(id=”__VIEWSTATE”)[‘value’],
“__VIEWSTATEGENERATOR”:soup.find(id=”__VIEWSTATEGENERATOR”)[‘value’],
roblox resellers check more roblox resellers
“__EVENTVALIDATION” : soup.find(id=”__EVENTVALIDATION”)[‘value’],
“ctl00$cphRoblox$Createeditpost1$PostForm$NewPostSubject”:subject,
“ctl00$cphRoblox$Createeditpost1$PostForm$PostBody”:body,
“ctl00$cphRoblox$Createeditpost1$PostForm$PostButton”:” Post ”
}
if disablereplies:
params[“ctl00$cphRoblox$Createeditpost1$PostForm$AllowReplies”] = ‘on’
r = self.s.post(earl, data = params, headers = {“Content-Type”:”application/x-www-form-urlencoded”})
return r
roblox resellers informational roblox resellers
def replyToForumPost(self, postid, text, disablereplies = False):
earl = “
view = self.s.get(earl)
soup = BeautifulSoup(view.text,’html.parser’)
params = {
“__EVENTTARGET” : ”,
“__EVENTARGUMENT”: ”,
‘__VIEWSTATE’:soup.find(id=”__VIEWSTATE”)[‘value’],
“__VIEWSTATEGENERATOR”:soup.find(id=”__VIEWSTATEGENERATOR”)[‘value’],
“__EVENTVALIDATION” : soup.find(id=”__EVENTVALIDATION”)[‘value’],
roblox resellers roblox resellers
“ctl00$cphRoblox$Createeditpost1$PostForm$PostBody”:text,
“ctl00$cphRoblox$Createeditpost1$PostForm$PostButton”:” Post ”
}
if disablereplies:
params[“ctl00$cphRoblox$Createeditpost1$PostForm$AllowReplies”] = ‘on’
r = self.s.post(earl, data = params, headers = {“Content-Type”:”application/x-www-form-urlencoded”})
return r
def getRobloSecurityCookie(self):
roblox resellers roblox resellers
return self.s.cookies.get_dict()[‘.ROBLOSECURITY’]
def commentOnAsset(self,assetid,text):
if not self.token:
self.setXsrfToken()
r = self.s.post(“ = {‘assetId’:assetid,’text’:text}, headers = {“X-CSRF-TOKEN”:self.token})
return r
def joinGroup(self,groupid):
viewpage = self.s.get(“
roblox resellers best of roblox resellers
soup = BeautifulSoup(viewpage.text,’html.parser’)
params = {
‘__EVENTTARGET’:”JoinGroupDiv”,
‘__EVENTARGUMENT’:”Click”,
‘__LASTFOCUS’:”,
‘__VIEWSTATE’:soup.find(name=”__VIEWSTATE”)[‘value’],
‘__VIEWSTATEGENERATOR’:soup.find(name=”__VIEWSTATEGENERATOR”)[‘value’],
‘__EVENTVALIDATION’:soup.find(name=”__EVENTVALIDATION”)[‘value’],
‘ctl00$cphRoblox$GroupSearchBar$SearchKeyword’:”Search all groups”,
‘ctl00$cphRoblox$rbxGroupRoleSetMembersPane$dlRolesetList’:soup.find(id=”ctl00_cphRoblox_rbxGroupRoleSetMembersPane_dlRolesetList”).find(selected=”selected”)[‘value’],
roblox resellers informational roblox resellers
‘ctl00$cphRoblox$rbxGroupRoleSetMembersPane$RolesetCountHidden’:soup.find(id=”ctl00_cphRoblox_rbxGroupRoleSetMembersPane_RolesetCountHidden”)[‘value’],
‘ctl00$cphRoblox$rbxGroupRoleSetMembersPane$dlUsers_Footer$ctl01$PageTextBox’:soup.find(id=”ctl00_cphRoblox_rbxGroupRoleSetMembersPane_dlUsers_Footer_ctl01_PageTextBox”)[‘value’],
‘ctl00$cphRoblox$rbxGroupRoleSetMembersPane$currentRoleSetID’:soup.find(id=”ctl00_cphRoblox_rbxGroupRoleSetMembersPane_currentRoleSetID”)[‘value’]
}
r = self.s.post(“ data = params, headers = {‘Content-Type’:’application/x-www-form-urlencoded’})
return r
def reportAbuse(self,userid,category,comment):
view = self.s.get(“
params = {
roblox resellers best of roblox resellers
‘__RequestVerificationToken’:re.search(‘name=”__RequestVerificationToken” type=”hidden” value=”(.+)”‘,view.text).group(1),
‘ReportCategory’:category,
‘Comment’:comment,
‘Id’:userid,
‘RedirectUrl’:’/Login’,
‘PartyGuid’:”,
‘ConversationId’:”
}
r = self.s.post(“
return r
roblox resellers informational roblox resellers
def getRAP(self,aid, returnv = None):
txt = requests.get(“
value = txt[‘data’][‘AveragePrice’]
if returnv:
returnv[0] += value
else:
return value
def getUserRAP(self,uid):
roblox resellers best of roblox resellers
hats = self.s.get(“
gear = self.s.get(“
faces = self.s.get(“
hatlist = []
gearlist = []
facelist = []
if hats[‘IsValid’] == False:
return None
for hat in hats[‘Data’][‘Items’]:
try:
roblox resellers informational roblox resellers
if hat[‘Product’] and hat[‘Product’][‘IsLimited’] or hat[‘Product’][‘IsLimitedUnique’]:
hatlist.append(hat[‘Item’][‘AssetId’])
except TypeError as e:
pass
for hat in gear[‘Data’][‘Items’]:
try:
if hat[‘Product’] and hat[‘Product’][‘IsLimited’] or hat[‘Product’][‘IsLimitedUnique’]:
gearlist.append(hat[‘Item’][‘AssetId’])
except TypeError as e:
pass
roblox resellers best of roblox resellers
for hat in faces[‘Data’][‘Items’]:
try:
if hat[‘Product’] and hat[‘Product’][‘IsLimited’] or hat[‘Product’][‘IsLimitedUnique’]:
facelist.append(hat[‘Item’][‘AssetId’])
except TypeError as e:
pass
threadarr = []
returnval = [0]
for item in hatlist+gearlist+facelist:
threadarr.append(Thread(target=self.getRAP,args=(item,returnval)))
roblox resellers informational roblox resellers
for thread in threadarr:
thread.start()
for thread in threadarr:
thread.join()
return returnval[0]
def getSellers(self,aid):
return requests.get(“
def getSalesData(self,aid):
roblox resellers roblox resellers
return requests.get(“
def snipeLimited(self,aid,desiredprice):
self.token = requests.post(“
sellers = self.getSellers(aid)
for seller in sellers[‘data’][‘Resellers’]:
if seller[‘Price’] <= desiredprice:
return requests.post(" = {“X-CSRF-TOKEN”:self.token})
return False
roblox resellers check more roblox resellers
def logOut(self):
if not self.token:
self.setXsrfToken()
r = self.s.post(“
return r
## do stuff
roblox resellers
– Essentials Sell Hand Permission Node