Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- var debug = process.argv[3] || true;
- var config = {
- channels: ["#tomcosm"],
- server: "irc.twitch.tv",
- username: "ambitron",
- nick: "ambitron",
- password: "****",
- sasl: true,
- userId: 96218,
- chatAppId: "d414424cb3f3420db55fbc8931bf79f2"
- };
- // Create the bot name
- //var bot = new irc.Client(config.server, config.nick, config);
- var io = require('socket.io-client');
- var osc = require('osc-min');
- var dgram = require('dgram');
- var udpDest = "127.0.0.1";
- var udpPort = process.argv[2] || 10000;
- var socket = io.connect("http://restream.io:1935/", {transports: ['websocket']});
- function messageReceivedHandler(data) {
- var streamingPlatformId = data['streamingPlatformId'];
- var userName = data['userName'];
- var text = data['text'];
- var badge = data['badge'] || '';
- //var time = data['time'] || getTimeString(data['timestamp']);
- console.log("SPI: " + streamingPlatformId + "Username: " + username + "Message: " + text);
- }
- socket.on('chat message', messageReceivedHandler);
- //socket.on('settings update', settingsUpdatedHandler);
- socket.on('connect', function () {
- var authData = {
- userId: config.userId,
- chatAppId: config.chatAppid
- };
- socket.emit('user auth', authData, function (error, data) {
- if (error !== 'success') {
- console.log('Failed to connect!' + error);
- console.log(data);
- return;
- }
- if (debug != 1) {
- //settingsUpdatedHandler(data);
- } else {
- //settingsUpdatedHandler(data);
- //socket.on('settings update', settingsUpdatedHandler);
- /*setInterval(function () {
- var messageId = Math.floor(Math.random());
- var message = {
- text: presetData[messageId].text,
- userName: presetData[messageId].userName,
- streamingPlatformId: presetData[messageId].streamingPlatformId,
- timestamp: Math.floor(Date.now() / 1000)
- };
- messageReceivedHandler(message);
- }, 1500);*/
- }
- });
- });
- var udpClient = dgram.createSocket("udp4");
- // where do I put this and how make it do the thing
- // bot.say(channel, "Stuff that comes over OSC on address /irc/");
- socket.on('action', outputHandler);
- function outputHandler(data) {
- oscData = { oscType: "message",
- address: "/web",
- args: data.action };
- oscBuffer = osc.toBuffer(oscData);
- console.log("sending OSC UDP:");
- console.dir(oscData);
- udpClient.send(oscBuffer, 0, oscBuffer.length, udpPort, udpDest);
- }
- function chatOutputHandler(data) {
- oscData = { oscType: "message",
- address: "/chat/",
- args: data.action };
- oscBuffer = osc.toBuffer(oscData);
- console.log("sending OSC UDP:");
- console.dir(oscData);
- udpClient.send(oscBuffer, 0, oscBuffer.length, 7405, udpDest);
- }
- function udpResultHandler() {
- }
- //bot.addListener("message", function(from, to, text, message) {
- // chatOutputHandler({action: from + " " + text});
- //});
- if(debug) {
- var udpServer = dgram.createSocket("udp4");
- udpServer.bind({address: "127.0.0.1", port: 7403, exclusive: true});
- udpServer.on("message", function(udpMessage, remoteInfo) {
- console.log("OSC UDP received:");
- console.dir(osc.fromBuffer(udpMessage));
- udpMessage = osc.fromBuffer(udpMessage);
- if(udpMessage.address === '/irc/' && udpMessage.args[0].type === "string") bot.say(config.channels[0], udpMessage.args.map(function(arg) { return arg.value }).join(" "));
- });
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement