Created
February 25, 2015 18:56
-
-
Save renatorib/2711e0701a39bfc2bca2 to your computer and use it in GitHub Desktop.
Gesior API
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
var request = require('request'); | |
module.exports = function(site){ | |
this.site = site; | |
this.cookiejar = request.jar(); | |
var self = this; | |
// Request Wrapper | |
this.request = function(method, path, data, callback){ | |
var options = { | |
url: self.site + "/" + path, | |
form: data, | |
method: method.toUpperCase(), | |
headers: { | |
"Content-Type": 'application/x-www-form-urlencoded' | |
}, | |
jar: self.cookiejar | |
}; | |
return request(options, callback); | |
} | |
// Methods | |
/** | |
* Create new account | |
* | |
* @param {String} account | |
* @param {String} password | |
* @param {String} email | |
* @param {Function} callback | |
*/ | |
this.createAccount = function(account, password, email, callback){ | |
var path = "?subtopic=createaccount&action=saveaccount"; | |
var data = { | |
reg_name: account, | |
reg_email: email, | |
reg_password: password, | |
reg_password2: password, | |
rules: true | |
}; | |
self.request('post', path, data, callback); | |
} | |
/** | |
* Login into account | |
* | |
* @param {String} account | |
* @param {String} password | |
* @param {Function} callback | |
*/ | |
this.login = function(account, password, callback){ | |
var path = "?subtopic=accountmanagement"; | |
var data = { | |
account_login: account, | |
password_login: password | |
}; | |
self.request('post', path, data, callback); | |
} | |
/** | |
* Logout from account | |
* | |
* @param {Function} callback | |
*/ | |
this.logout = function(callback){ | |
var path = "?subtopic=accountmanagement&action=logout"; | |
self.request('get', path, {}, callback); | |
} | |
/** | |
* Create new character - Must be logged in | |
* | |
* @param {String} account | |
* @param {String} password | |
* @param {String} email | |
* @param {Function} callback | |
*/ | |
this.createCharacter = function(name, sex, vocation, callback){ | |
var path = "?subtopic=accountmanagement&action=createcharacter"; | |
var data = { | |
savecharacter: 1, | |
newcharname: name, | |
newcharsex: sex, | |
newcharvocation: vocation | |
}; | |
self.request('post', path, data, callback); | |
} | |
return this; | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
module.exports = { | |
/** | |
* Generate random word (function by James Padolsey) | |
* | |
* @param {Int} lenght | |
* @return {String} | |
*/ | |
randomWord: function(length){ | |
var consonants = 'bcdfghjklmnpqrstvwxyz', | |
vowels = 'aeiou', | |
rand = function(limit) { | |
return Math.floor(Math.random()*limit); | |
}, | |
i, word='', length = parseInt(length,10), | |
consonants = consonants.split(''), | |
vowels = vowels.split(''); | |
for (i=0;i<length/2;i++) { | |
var randConsonant = consonants[rand(consonants.length)], | |
randVowel = vowels[rand(vowels.length)]; | |
word += (i===0) ? randConsonant.toUpperCase() : randConsonant; | |
word += i*2<length-1 ? randVowel : ''; | |
} | |
return word; | |
}, | |
/** | |
* Generate random name | |
* | |
* @return {String} | |
*/ | |
randomName: function(){ | |
return this.randomWord(6) + " " + this.randomWord(6); | |
}, | |
/** | |
* Generate random email | |
* | |
* @return {String} | |
*/ | |
randomEmail: function(){ | |
return this.randomWord(3).toLowerCase() + "@" + this.randomWord(6).toLowerCase() + ".com"; | |
}, | |
/** | |
* Generate random account/password | |
* | |
* @return {String} | |
*/ | |
randomAccount: function(){ | |
return this.randomWord(8).toLowerCase(); | |
}, | |
randomPassword: function(){ | |
return this.randomAccount(); | |
}, | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// Modules & Startup | |
var gesiorapi = require('./lib/gesiorapi'); | |
var gen = new require('./lib/randomgen'); | |
var gesior = new gesiorapi('http://conquer-global.com/'); | |
// Generate account settings | |
var accpass = gen.randomAccount(); | |
var email = gen.randomEmail(); | |
// Process | |
gesior.createAccount(accpass, accpass, email, function(err, response, body){ | |
}); |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment