Advertisement
Guest User

Untitled

a guest
Dec 24th, 2017
129
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.69 KB | None | 0 0
  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: "****",
  9. sasl: true,
  10.  
  11. userId: 96218,
  12. chatAppId: "d414424cb3f3420db55fbc8931bf79f2"
  13.  
  14. };
  15.  
  16. // Create the bot name
  17. //var bot = new irc.Client(config.server, config.nick, config);
  18.  
  19. var io = require('socket.io-client');
  20. var osc = require('osc-min');
  21. var dgram = require('dgram');
  22.  
  23. var udpDest = "127.0.0.1";
  24. var udpPort = process.argv[2] || 10000;
  25.  
  26. var socket = io.connect("http://restream.io:1935/", {transports: ['websocket']});
  27.  
  28. function messageReceivedHandler(data) {
  29. var streamingPlatformId = data['streamingPlatformId'];
  30. var userName = data['userName'];
  31. var text = data['text'];
  32. var badge = data['badge'] || '';
  33. //var time = data['time'] || getTimeString(data['timestamp']);
  34.  
  35. console.log("SPI: " + streamingPlatformId + "Username: " + username + "Message: " + text);
  36. }
  37.  
  38. socket.on('chat message', messageReceivedHandler);
  39. //socket.on('settings update', settingsUpdatedHandler);
  40.  
  41.  
  42.  
  43. socket.on('connect', function () {
  44. var authData = {
  45. userId: config.userId,
  46. chatAppId: config.chatAppid
  47. };
  48. socket.emit('user auth', authData, function (error, data) {
  49. if (error !== 'success') {
  50. console.log('Failed to connect!' + error);
  51. console.log(data);
  52. return;
  53. }
  54.  
  55. if (debug != 1) {
  56. //settingsUpdatedHandler(data);
  57. } else {
  58. //settingsUpdatedHandler(data);
  59. //socket.on('settings update', settingsUpdatedHandler);
  60.  
  61. /*setInterval(function () {
  62. var messageId = Math.floor(Math.random());
  63. var message = {
  64. text: presetData[messageId].text,
  65. userName: presetData[messageId].userName,
  66. streamingPlatformId: presetData[messageId].streamingPlatformId,
  67. timestamp: Math.floor(Date.now() / 1000)
  68. };
  69. messageReceivedHandler(message);
  70. }, 1500);*/
  71. }
  72. });
  73. });
  74.  
  75.  
  76. var udpClient = dgram.createSocket("udp4");
  77.  
  78. // where do I put this and how make it do the thing
  79. // bot.say(channel, "Stuff that comes over OSC on address /irc/");
  80.  
  81. socket.on('action', outputHandler);
  82.  
  83. function outputHandler(data) {
  84. oscData = { oscType: "message",
  85. address: "/web",
  86. args: data.action };
  87. oscBuffer = osc.toBuffer(oscData);
  88. console.log("sending OSC UDP:");
  89. console.dir(oscData);
  90. udpClient.send(oscBuffer, 0, oscBuffer.length, udpPort, udpDest);
  91. }
  92.  
  93. function chatOutputHandler(data) {
  94. oscData = { oscType: "message",
  95. address: "/chat/",
  96. args: data.action };
  97. oscBuffer = osc.toBuffer(oscData);
  98. console.log("sending OSC UDP:");
  99. console.dir(oscData);
  100. udpClient.send(oscBuffer, 0, oscBuffer.length, 7405, udpDest);
  101. }
  102.  
  103. function udpResultHandler() {
  104. }
  105.  
  106. //bot.addListener("message", function(from, to, text, message) {
  107. // chatOutputHandler({action: from + " " + text});
  108. //});
  109.  
  110. if(debug) {
  111. var udpServer = dgram.createSocket("udp4");
  112. udpServer.bind({address: "127.0.0.1", port: 7403, exclusive: true});
  113. udpServer.on("message", function(udpMessage, remoteInfo) {
  114. console.log("OSC UDP received:");
  115. console.dir(osc.fromBuffer(udpMessage));
  116. udpMessage = osc.fromBuffer(udpMessage);
  117. if(udpMessage.address === '/irc/' && udpMessage.args[0].type === "string") bot.say(config.channels[0], udpMessage.args.map(function(arg) { return arg.value }).join(" "));
  118. });
  119. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement