Method: WeChat::Bot::Core#on

Defined in:
lib/wechat/bot/core.rb

#on(event, regexp = %r{}, *args) {|| ... } ⇒ Handler

消息触发器

Yield Parameters:



71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
# File 'lib/wechat/bot/core.rb', line 71

def on(event, regexp = %r{}, *args, &block)
  event = event.to_s.to_sym

  pattern = case regexp
            when Pattern
              regexp
            when Regexp
              Pattern.new(nil, regexp, nil)
            else
              if event == :ctcp
                Pattern.generate(:ctcp, regexp)
              else
                Pattern.new(/^/, /#{Regexp.escape(regexp.to_s)}/, /$/)
              end
            end

  handler = Handler.new(self, event, pattern, {args: args, execute_in_callback: true}, &block)
  @handlers.register(handler)

  handler
end