目の前に僕らの道がある

勉強会とか、技術的にはまったことのメモ

cinchが便利そう(IRC Bot用のフレームワーク)

まだざっくりとしか触ってないけど、こんな感じで書けてかなり楽に書けそう。

# coding: utf-8
require 'cinch'

bot = Cinch::Bot.new do
  configure do |c|
    c.server = "irc.masaszuu.local"
    c.nick   = "hello"
    c.channels = ["#karupanerura"]
  end

  # あいさつしてくれる君
  on :message, "hello" do |m|
    m.reply "Hello, #{m.user.nick}"
  end

  # 律儀に出て行ってくれる君
  on :message, /go away(?: (.+))?/ do |m, channel|
    m.reply "#{m.user.nick} said #{m.message}. ok, I'm parting." if m.user.nick == 'masasuzu'

    channel ||= m.channel

    bot.part channel, 'bye'
  end
end

bot.start