class JournalIrcLogModule

Author

Matthias Hecker (apoc@geekosphere.org)

Public Instance Methods

listen(m) click to toggle source

messages received

# File lib/rbot/core/journal_irclog.rb, line 63
def listen(m)
  log_message(m)
end
log_message(m) click to toggle source
# File lib/rbot/core/journal_irclog.rb, line 35
def log_message(m)
  unless m.kind_of? BasicUserMessage
    warning 'journal irc logger can\'t log %s message' % [m.class.to_s]
  else
    payload = {
      type: m.class.name.downcase.match(/(\w+)message/).captures.first,
      addressed: m.address?,
      replied: m.replied?,
      identified: m.identified?,

      source: m.source.to_s,
      source_user: m.botuser.to_s,
      source_address: m.sourceaddress,
      target: m.target.to_s,
      server: m.server.to_s,

      message: m.logmessage,
    }
    publish(payload)
  end
end
publish(payload) click to toggle source
# File lib/rbot/core/journal_irclog.rb, line 20
def publish(payload)
  if payload[:target]
    target = payload[:target]
    whitelist = @bot.config['journal.irclog.whitelist']
    blacklist = @bot.config['journal.irclog.blacklist']
    unless whitelist.empty?
      return unless whitelist.include? target
    end
    unless blacklist.empty?
      return if blacklist.include? target
    end
  end
  @bot.journal.publish('irclog', payload)
end
sent(m) click to toggle source

messages sent

# File lib/rbot/core/journal_irclog.rb, line 58
def sent(m)
  log_message(m)
end