質問編集履歴

1

文面を変更しました

2018/06/08 07:31

投稿

satsukichan
satsukichan

スコア52

test CHANGED
@@ -1 +1 @@
1
- rubybot/SlackAPI連携エラーについて
1
+ includeメソッドを使用したor使用方法ついて
test CHANGED
@@ -1,10 +1,4 @@
1
- 前回質問の続きなるのすが以下のプログラム実行すと開始自体は出来ますが、Slack側発言ると
1
+ 以下if分でHello以外「こんにちは」も返事返せようにorを加える方法を教えてほしいです
2
-
3
- test.rb:27:in `block (2 levels) in <main>': undefined method `match?' for "Hello":String (NoMethodError)Did you mean? match
4
-
5
- でプログラム自体が落ちてしまいます。
6
-
7
- 入れる文言に関係なく落ちます。
8
2
 
9
3
  宜しくお願いします。
10
4
 
@@ -12,61 +6,9 @@
12
6
 
13
7
  ```ruby
14
8
 
15
- require 'http'
9
+ #ここでOrを使いたい
16
10
 
17
- require 'json'
18
-
19
- require 'eventmachine'
20
-
21
- require 'faye/websocket'
22
-
23
-
24
-
25
- response = HTTP.post("https://slack.com/api/rtm.start", params: {
26
-
27
- token: ENV['SLACK_API_TOKEN']
28
-
29
- })
30
-
31
-
32
-
33
- rc = JSON.parse(response.body)
34
-
35
-
36
-
37
- url = rc['url']
38
-
39
-
40
-
41
- EM.run do
42
-
43
- # Web Socketインスタンスの立ち上げ
44
-
45
- ws = Faye::WebSocket::Client.new(url)
46
-
47
-
48
-
49
- # 接続が確立した時の処理
50
-
51
- ws.on :open do
52
-
53
- p [:open]
54
-
55
- end
56
-
57
-
58
-
59
- ws.on :message do |event|
60
-
61
- data = JSON.parse(event.data)
62
-
63
- p [:message, data]
64
-
65
-
66
-
67
- if data['text']&.match?(/Hello|HELLO/)
11
+ if data['text'].to_s.include?("Hello")
68
-
69
-
70
12
 
71
13
  ws.send({
72
14
 
@@ -80,8 +22,4 @@
80
22
 
81
23
  end
82
24
 
83
-
84
-
85
- end
86
-
87
25
  ```