Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- joke: function(arg, by, room){
- arg = arg.replace(/, /g, ',').split(',');
- var catagories = ['math', 'politics', 'academics', 'science']
- switch(toId(arg[0])){
- case 'add':
- if(!this.hasRank(by, '+%@&#~')) return false;
- if(!arg[1] || !arg[2]) return this.say(room, 'The correct format is +joke add, category, joke');
- if(catagories.indexOf(toId(arg[1])) === -1){
- return this.say(room, 'Invalid Joke Category');
- }
- var jokeData = fs.readFileSync('data/jokes.txt').toString().split('\n');
- if(jokeData.indexOf(toId(arg[1]) + '|' + arg.slice(2).join(', ')) > -1) return this.say(room, 'The joke exists already');
- fs.appendFile('data/jokes.txt', '\n' + toId(arg[1]) + '|' + arg.slice(2).join(', '))
- return this.say(room, 'Added!')
- break;
- default:
- if(!this.hasRank(by, '+%@#&~')) return false;
- if(catagories.indexOf(toId(arg[0])) > -1){
- var search = toId(arg[0]);
- } else {
- var search = 'all';
- }
- var jokeData = fs.readFileSync('data/jokes.txt').toString().split('\n');
- var data = []
- var success = false;
- for (var i = 0; jokeData.length > i; i++){
- if(!jokeData[i]){
- continue;
- }
- var spl = jokeData[i].split('|');
- if(spl[0] === search || search === 'all'){
- data[data.length] = spl.slice(1).join('|');
- success = true;
- }
- }
- if(!success) return this.say(room, 'No jokes found ;-;');
- this.say(room, data[~~(data.length*Math.random())]);
- }
- },
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement