litaになりすましてコメントをする
Date:2016-12-06 00:40:46 +0900
Categories: ETC
Categories: ETC
ざっくりいうと
litaになりしましてコメントをするhandlerを作成します。
slackを想定しています。
順番
handlerのテンプレートを作成
puppetという名前でハンドラーを作成します。
# handlersというディレクトリを作成(やらなくてもいい) $ mkdir handlers $ cd handlers # テンプレートを作成 $ lita handler puppet => lita-puppetというディレクトリとその配下にファイルが作成されます # .gemspecを修正 $ vim lita-pappet/lita-pappet.gemspec => TODOになっているところなどを適当に変更してください。 handlerの処理を書いていく puppet <部屋の名前> <メッセージ>と打つと指定した部屋にメッセージがとぶイメージです。 module Lita module Handlers class Puppet < Handler # ルーティングを作成 route( /^puppets+(.{1,})s+(.{1,})$/, # 一個目のカッコで部屋をキャプチャ、二つ目のカッコでメッセージをキャプチャ :puppet, # この対象に当てはまったものはpuppetメソッド(下)を呼ぶ help: { "puppet <room_name> <message>" => "messageをroomにパペットマペット" } ) def puppet(response) # 部屋とメッセージを取得 room_name = response.matches[0][0] message = response.matches[0][1] # 部屋とメッセージのオブジェクトを取得 room = Lita::Room.find_by_name("#{room_name}") target_room = Lita::Source.new(room: room) # robotヘルパーに2つ引数を与えてメッセージ送信 robot.send_message(target_room, message) end Lita.register_handler(self) end end end 出来上がりイメージ 投稿
↓ 自分に反映(ダイレクトメッセージでbotに話しかける)
↓ 実際にdevelopに反映される
Tweet