리타로 위장해서 댓글을 달아주세요.

4487 단어 Rubylita

대충 말하다


더군다나 리타의 댓글을 만드는 핸들러.
slack으로 가정합니다.

순서


handler 템플릿 만들기


puppet이라는 이름으로 프로세서를 만들다.
# handlersというディレクトリを作成(やらなくてもいい)
$ mkdir handlers
$ cd handlers

# テンプレートを作成
$ lita handler puppet => lita-puppetというディレクトリとその配下にファイルが作成されます

# .gemspecを修正
$ vim lita-pappet/lita-pappet.gemspec
=> TODOになっているところなどを適当に変更してください。

handler 처리 쓰기


3puppet <部屋の名前> <メッセージ> 지정된 방에 전화를 걸면 메시지가 날아오르는 느낌이 든다.
lita-puppet.rb
module Lita
  module Handlers
    class Puppet < Handler
      # ルーティングを作成
      route(
        /^puppet\s+(.{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

개발자에 실제 반영
3

좋은 웹페이지 즐겨찾기