diff --git a/src/irc.coffee b/src/irc.coffee index 939e9fd..80cea55 100644 --- a/src/irc.coffee +++ b/src/irc.coffee @@ -47,6 +47,19 @@ class IrcBot extends Adapter @bot.part channel, () -> console.log('left %s', channel) + createUser: (channel, from) -> + user = @userForName from + unless user? + id = (new Date().getTime() / 1000).toString().replace('.','') + user = @userForId id + user.name = from + + if channel.match(/^[&#]/) + user.room = channel + else + user.room = null + user + run: -> self = @ @@ -92,18 +105,11 @@ class IrcBot extends Adapter bot.addListener 'message', (from, to, message) -> console.log "From #{from} to #{to}: #{message}" - - user = self.userForName from - unless user? - id = (new Date().getTime() / 1000).toString().replace('.','') - user = self.userForId id - user.name = from - if to.match(/^[&#]/) - user.room = to + user = self.createUser to, from + if user.room console.log "#{to} <#{from}> #{message}" else - user.room = null console.log "msg <#{from}> #{message}" self.receive new Robot.TextMessage(user, message) @@ -116,6 +122,8 @@ class IrcBot extends Adapter bot.addListener 'join', (channel, who) -> console.log('%s has joined %s', who, channel) + user = self.createUser channel, who + self.receive new Robot.EnterMessage(user) bot.addListener 'part', (channel, who, reason) -> console.log('%s has left %s: %s', who, channel, reason) @@ -137,4 +145,3 @@ class IrcResponse extends Robot.Response exports.use = (robot) -> new IrcBot robot -