Advertisement
sparkychild

joke command

Jun 16th, 2015
290
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.48 KB | None | 0 0
  1. joke: function(arg, by, room){
  2. arg = arg.replace(/, /g, ',').split(',');
  3. var catagories = ['math', 'politics', 'academics', 'science']
  4. switch(toId(arg[0])){
  5. case 'add':
  6. if(!this.hasRank(by, '+%@&#~')) return false;
  7. if(!arg[1] || !arg[2]) return this.say(room, 'The correct format is +joke add, category, joke');
  8. if(catagories.indexOf(toId(arg[1])) === -1){
  9. return this.say(room, 'Invalid Joke Category');
  10. }
  11. var jokeData = fs.readFileSync('data/jokes.txt').toString().split('\n');
  12. if(jokeData.indexOf(toId(arg[1]) + '|' + arg.slice(2).join(', ')) > -1) return this.say(room, 'The joke exists already');
  13. fs.appendFile('data/jokes.txt', '\n' + toId(arg[1]) + '|' + arg.slice(2).join(', '))
  14. return this.say(room, 'Added!')
  15. break;
  16. default:
  17. if(!this.hasRank(by, '+%@#&~')) return false;
  18. if(catagories.indexOf(toId(arg[0])) > -1){
  19. var search = toId(arg[0]);
  20. } else {
  21. var search = 'all';
  22. }
  23. var jokeData = fs.readFileSync('data/jokes.txt').toString().split('\n');
  24. var data = []
  25. var success = false;
  26. for (var i = 0; jokeData.length > i; i++){
  27. if(!jokeData[i]){
  28. continue;
  29. }
  30. var spl = jokeData[i].split('|');
  31. if(spl[0] === search || search === 'all'){
  32. data[data.length] = spl.slice(1).join('|');
  33. success = true;
  34. }
  35. }
  36. if(!success) return this.say(room, 'No jokes found ;-;');
  37. this.say(room, data[~~(data.length*Math.random())]);
  38.  
  39. }
  40. },
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement