litaになりすましてコメントをする

ざっくりいうと

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
出来上がりイメージ
投稿

1


自分に反映(ダイレクトメッセージでbotに話しかける)

2


実際にdevelopに反映される

3

Pocket

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です