Advertisement
Guest User

Untitled

a guest
Jun 25th, 2016
85
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.59 KB | None | 0 0
  1. var fs = require('fs');
  2. var mineflayer = require('mineflayer');
  3.  
  4. if(process.argv.length < 4 || process.argv.length > 6) {
  5. console.log("Usage : node chatterbot.js <host> <port> [<name>] [<password>]");
  6. process.exit(1);
  7. }
  8.  
  9. var bot = mineflayer.createBot({
  10. host: process.argv[2],
  11. port: parseInt(process.argv[3]),
  12. username: process.argv[4] ? process.argv[4] : "chatterbox",
  13. password: process.argv[5],
  14. verbose: true,
  15. });
  16.  
  17. function handleMessage(jsonMsg) {
  18. var msg;
  19.  
  20. if (typeof jsonMsg.extra == "undefined") {
  21. // this message wasn't in the usual skyblock/mc server format. This tends to be things like whisper commands
  22. if ((typeof jsonMsg.text != "undefined") && (jsonMsg.text == "")) {
  23. return;
  24. }
  25. msg = {
  26. "msg": "std message, unparsed:"+JSON.stringify(jsonMsg),
  27. "type": "unknown",
  28. "date": utils.shortTime()
  29. }
  30. console.log(JSON.stringify(msg));
  31. } else {
  32. // skyblock messages, and I think all non-mc-server messages come in in this data structure
  33. var t = "";
  34. for(var x=0;x<jsonMsg.extra.length;x++) {
  35. if (typeof jsonMsg.extra[x] == "string") {
  36. t+= jsonMsg.extra[x];
  37. } else {
  38. t+= jsonMsg.extra[x].text;
  39. }
  40. }
  41. // show the message to the screen
  42. console.log(t);
  43. }
  44.  
  45. // write all msgs to a log file
  46. fs.appendFile(__dirname + '/msgs/msgs'+utils.shortDate()+'.txt', msg.date+' - '+msg.msg+"\n", function (err) { });
  47. };
  48. bot.on('message', handleMessage);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement