Advertisement
Guest User

Untitled

a guest
Jun 25th, 2016
99
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. var fs = require('fs');
  2. var mineflayer = require('mineflayer');
  3.  
  4.  
  5. if(process.argv.length < 4 || process.argv.length > 6) {
  6.   console.log("Usage : node chatterbot.js <host> <port> [<name>] [<password>]");
  7.   process.exit(1);
  8. }
  9.  
  10. var bot = mineflayer.createBot({
  11.   host: process.argv[2],
  12.   port: parseInt(process.argv[3]),
  13.   username: process.argv[4] ? process.argv[4] : "chatterbox",
  14.   password: process.argv[5],
  15.   verbose: true,
  16. });
  17.  
  18. function dateFormat(date, fstr, utc) {
  19.         utc = utc ? 'getUTC' : 'get';
  20.         return fstr.replace (/%[YmdHMS]/g, function (m) {
  21.             switch (m) {
  22.             case '%Y': return date[utc + 'FullYear'] (); // no leading zeros required
  23.             case '%m': m = 1 + date[utc + 'Month'] (); break;
  24.             case '%d': m = date[utc + 'Date'] (); break;
  25.             case '%H': m = date[utc + 'Hours'] (); break;
  26.             case '%M': m = date[utc + 'Minutes'] (); break;
  27.             case '%S': m = date[utc + 'Seconds'] (); break;
  28.             default: return m.slice (1); // unknown code, remove %
  29.             }
  30.             // add leading zero if required
  31.             return ('0' + m).slice (-2);
  32.         });
  33.     }
  34.  
  35.   function handleMessage(jsonMsg) {
  36.       var msg;
  37.    
  38.       if (typeof jsonMsg.extra == "undefined") {
  39.         // this message wasn't in the usual skyblock/mc server format. This tends to be things like whisper commands
  40.         if ((typeof jsonMsg.text != "undefined") && (jsonMsg.text == "")) {
  41.           return;
  42.         }
  43.         msg = {
  44.            "msg": "std message, unparsed:"+JSON.stringify(jsonMsg),
  45.            "type": "unknown",
  46.            "date": utils.shortTime()
  47.         }
  48.         console.log(JSON.stringify(msg));
  49.       } else {
  50.         // skyblock messages, and I think all non-mc-server messages come in in this data structure        
  51.             var t = "";
  52.         for(var x=0;x<jsonMsg.extra.length;x++) {
  53.         if (typeof jsonMsg.extra[x] == "string") {
  54.           t+= jsonMsg.extra[x];
  55.         } else {
  56.           t+= jsonMsg.extra[x].text;
  57.         }
  58.       }
  59.        // show the message to the screen
  60.        console.log(t);
  61.       }
  62.  
  63.       // write all msgs to a log file
  64.       fs.appendFile(__dirname + '/msgs/msgs'+dateFormat(new Date(), "%H:%M:%S")+'.txt', msg.date+' - '+msg.msg+"\n", function (err) { });
  65.   };
  66. bot.on('message', handleMessage);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement