Advertisement
Guest User

Untitled

a guest
Dec 24th, 2017
124
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. var debug = process.argv[3] || true;
  2.  
  3. var config = {
  4.     channels: ["#tomcosm"],
  5.     server: "irc.twitch.tv",
  6.     username: "ambitron",
  7.     nick: "ambitron",
  8.     password: "oauth:f1jpfm6pj8znf8ffkz5mcreb077zct",
  9.     sasl: true
  10. };
  11.  
  12. // Get the lib
  13. var irc = require("irc");
  14.  
  15. // Create the bot name
  16. var bot = new irc.Client(config.server, config.nick, config);
  17.  
  18. var io = require('socket.io-client');
  19. var osc = require('osc-min');
  20. var dgram = require('dgram');
  21.  
  22. var udpDest = "127.0.0.1";
  23. var udpPort = process.argv[2] || 10000;
  24.  
  25. // var socket = io.connect("http://ambidev.herokuapp.com/master");
  26.  
  27. var udpClient = dgram.createSocket("udp4");
  28.  
  29. // where do I put this and how make it do the thing
  30. // bot.say(channel, "Stuff that comes over OSC on address /irc/");
  31.  
  32. /* socket.on('action', outputHandler);
  33.  
  34. function outputHandler(data) {
  35.   oscData =  { oscType: "message",
  36.                address: "/web",
  37.                args: data.action };
  38.   oscBuffer = osc.toBuffer(oscData);
  39.   console.log("sending OSC UDP:");
  40.   console.dir(oscData);
  41.   udpClient.send(oscBuffer, 0, oscBuffer.length, udpPort, udpDest);
  42. }
  43. */
  44.  
  45. function chatOutputHandler(data) {
  46.   oscData =  { oscType: "message",
  47.                address: "/chat/",
  48.                args: data.action };
  49.   oscBuffer = osc.toBuffer(oscData);
  50.   console.log("sending OSC UDP:");
  51.   console.dir(oscData);
  52.   udpClient.send(oscBuffer, 0, oscBuffer.length, 7405, udpDest);
  53. }
  54.  
  55. /* function namesOutputHandler(data) {
  56.   oscData =  { oscType: "message",
  57.                address: "/names/",
  58.                args: data.action };
  59.   oscBuffer = osc.toBuffer(oscData);
  60.   console.log("sending OSC UDP:");
  61.   console.dir(oscData);
  62.   udpClient.send(oscBuffer, 0, oscBuffer.length, 7405, udpDest);
  63. }
  64. */
  65. function udpResultHandler() {
  66. }
  67.  
  68. bot.addListener("message", function(from, to, text, message) {
  69.   chatOutputHandler({action: from + " " + text});
  70. });
  71.  
  72.  
  73.  
  74. if(debug) {
  75.   var udpServer = dgram.createSocket("udp4");
  76.   udpServer.bind({address: "127.0.0.1", port: 7403, exclusive: true});
  77.   udpServer.on("message", function(udpMessage, remoteInfo) {
  78.     console.log("OSC UDP received:");
  79.     console.dir(osc.fromBuffer(udpMessage));
  80.     udpMessage = osc.fromBuffer(udpMessage);
  81.     if(udpMessage.address === '/irc/' && udpMessage.args[0].type === "string") bot.say(config.channels[0], udpMessage.args.map(function(arg) { return arg.value }).join(" "));
  82.   });
  83. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement