Advertisement
tomcosm

Untitled

Jun 10th, 2016
90
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. ohvar 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: "****",
  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. function chatOutputHandler(data) {
  45.   oscData =  { oscType: "message",
  46.                address: "/chat/",
  47.                args: data.action };
  48.   oscBuffer = osc.toBuffer(oscData);
  49.   console.log("sending OSC UDP:");
  50.   console.dir(oscData);
  51.   udpClient.send(oscBuffer, 0, oscBuffer.length, 7405, udpDest);
  52. }
  53.  
  54. function udpResultHandler() {
  55. }
  56.  
  57. bot.addListener("message", function(from, to, text, message) {
  58.   chatOutputHandler({action: from + " " + text});
  59. });
  60.  
  61. if(debug) {
  62.   var udpServer = dgram.createSocket("udp4");
  63.   udpServer.bind({address: "127.0.0.1", port: 7403, exclusive: true});
  64.   udpServer.on("message", function(udpMessage, remoteInfo) {
  65.     console.log("OSC UDP received:");
  66.     console.dir(osc.fromBuffer(udpMessage));
  67.     udpMessage = osc.fromBuffer(udpMessage);
  68.     if(udpMessage.address === '/irc/' && udpMessage.args[0].type === "string") bot.say(config.channels[0], udpMessage.args.map(function(arg) { return arg.value }).join(" "));
  69.   });
  70. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement