Skip to content

Instantly share code, notes, and snippets.

@olistik
Created June 5, 2015 15:39
Show Gist options
  • Save olistik/f68e1af5cedd1c45dde9 to your computer and use it in GitHub Desktop.
Save olistik/f68e1af5cedd1c45dde9 to your computer and use it in GitHub Desktop.
require 'cinch'
require 'logger'
logger = Logger.new('irc.log', 'daily')
logger.level = Logger::INFO
def now
Time.now.strftime('%Y-%m-%d %H:%M:%S')
end
def log(message)
logger.info { "[#{now}]#{message}" }
end
bot = Cinch::Bot.new do
configure do |c|
c.server = "irc.freenode.org"
c.channels = ["#bot-test"]
c.nick = 'peephole-42'
end
on :message, /.*/ do |message|
log("[#{message.channel}][#{message.user}] #{message.message}")
end
end
%w[QUIT INT].each do |signal_name|
Signal.trap(signal_name) do |signal_number|
puts Signal.signame(signal_number)
logger.close
bot.quit 'So long and thanks for all the fish'
return 0
end
end
bot.start
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment