Skip to content

Instantly share code, notes, and snippets.

@malditogeek
Created July 16, 2014 11:37
Show Gist options
  • Save malditogeek/56a9ad51827dfc249117 to your computer and use it in GitHub Desktop.
Save malditogeek/56a9ad51827dfc249117 to your computer and use it in GitHub Desktop.
IRC = require 'irc'
Gitter = require 'node-gitter'
TOKEN = process.env.TOKEN
ROOM = process.env.ROOM
CHANNEL = process.env.CHANNEL
gitter = new Gitter(TOKEN)
irc = new IRC.Client
connection:
host: 'irc.freenode.net'
port: 6667
identity:
nickname: "irc2gitter"
irc = new IRC.Client 'irc.freenode.net', 'irc2gitter',
channels: [CHANNEL]
gitter.currentUser().then (bot) ->
gitter.rooms.find(ROOM).then (room) ->
roomStream = room.streaming().chatMessages()
# Listen for messages in a Gitter room and proxy them to IRC
#
roomStream.on 'chatMessages', (message) ->
if message.model
username = message.model.fromUser.username
text = message.model.text
console.log '[GITTER]', username, text
if username != bot.username
irc.say CHANNEL, "#{username}: #{text}"
# Listen for messages on IRC and proxy them to Gitter
#
irc.addListener 'message', (from, to, message) ->
console.log '[IRC]', from, to, message
room.send "#{from}: #{message}"
irc.addListener 'error', (message) ->
console.log '[ERR]', message
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment