質問編集履歴

3

初心者マーク

2018/05/26 19:55

投稿

cachio
cachio

スコア11

test CHANGED
File without changes
test CHANGED
File without changes

2

タイトル変更

2018/05/26 19:55

投稿

cachio
cachio

スコア11

test CHANGED
@@ -1 +1 @@
1
- 続・仮想通貨の価格かえすLINEbotをつくりたい
1
+ 指定した語句送ると設定した返答をLINEbotをつくりたい
test CHANGED
File without changes

1

具体的な内容に変更

2018/05/25 15:42

投稿

cachio
cachio

スコア11

test CHANGED
File without changes
test CHANGED
@@ -14,47 +14,23 @@
14
14
 
15
15
  現在の動作ではどのようなテキストを送信しても「**zaifでのビットコインの価格は○○○円です。**」 と返ってくるので、
16
16
 
17
- こちらが指定した文字、例えば **zaif**, **ZAIF**, **ザイフ**などの文字ときに上記のように価格が返信され、それ以外の文字の場合には**「もう一度お願いします」**と反応ができるようにしたいと思っています。
17
+ こちらが指定した文字、例えば **zaif**, **ZAIF**, **ザイフ**などの文字を送信したときに上記のように価格が返信され、それ以外の文字の場合には**「もう一度お願いします」**と反応ができるようにしたいと思っています。
18
18
 
19
19
 
20
20
 
21
- ような動作をさせる下記のコードをどのように変更すれば良いでょうか?
21
+ [前回](https://teratail.com/questions/127208?sip=n0070000_019&uid=91270)コードに下記のように追加変更しました
22
-
23
- そもそも大部分から変えなくてはならないのでしょうか?
24
-
25
- ご教授のほどお願いいたします
26
22
 
27
23
 
28
24
 
29
-
30
-
31
- ### line-bot-sdk-python
25
+ #### 前回のline-bot-sdk-pythonから変更した箇所
32
26
 
33
27
 
34
28
 
35
- ```python
29
+ ```Python
36
-
37
- from flask import Flask, request, abort
38
30
 
39
31
 
40
32
 
41
- from linebot import (
33
+  ------
42
-
43
- LineBotApi, WebhookHandler
44
-
45
- )
46
-
47
- from linebot.exceptions import (
48
-
49
- InvalidSignatureError
50
-
51
- )
52
-
53
- from linebot.models import (
54
-
55
- MessageEvent, TextMessage, TextSendMessage,
56
-
57
- )
58
34
 
59
35
 
60
36
 
@@ -62,59 +38,15 @@
62
38
 
63
39
 
64
40
 
65
- zaif = ZaifPublicApi()                     #追加
41
+ zaif = ZaifPublicApi()                    #追加           
66
42
 
67
- price = zaif.last_price('btc_jpy') #追加
43
+ price = zaif.last_price('btc_jpy')  #追加
68
44
 
45
+  
69
46
 
47
+  ------
70
48
 
71
- app = Flask(__name__)
49
+
72
-
73
-
74
-
75
- line_bot_api = LineBotApi('YOUR_CHANNEL_ACCESS_TOKEN')
76
-
77
- handler = WebhookHandler('YOUR_CHANNEL_SECRET')
78
-
79
-
80
-
81
-
82
-
83
- @app.route("/callback", methods=['POST'])
84
-
85
- def callback():
86
-
87
- # get X-Line-Signature header value
88
-
89
- signature = request.headers['X-Line-Signature']
90
-
91
-
92
-
93
- # get request body as text
94
-
95
- body = request.get_data(as_text=True)
96
-
97
- app.logger.info("Request body: " + body)
98
-
99
-
100
-
101
- # handle webhook body
102
-
103
- try:
104
-
105
- handler.handle(body, signature)
106
-
107
- except InvalidSignatureError:
108
-
109
- abort(400)
110
-
111
-
112
-
113
- return 'OK'
114
-
115
-
116
-
117
-
118
50
 
119
51
  @handler.add(MessageEvent, message=TextMessage)
120
52
 
@@ -130,10 +62,18 @@
130
62
 
131
63
 
132
64
 
65
+ ```
133
66
 
134
67
 
135
- if __name__ == "__main__":
136
68
 
137
- app.run()
138
69
 
70
+
71
+ `def handle_message`内に狙いをつけていろいろイジってみているのですが目的の動作ができません
72
+
73
+ どのように変更を加えればよろしいでしょうか?
74
+
75
+ そもそも元はオウム返しするサンプルボットのコードなので大幅な変更が必要なのでしょうか?
76
+
77
+
78
+
139
- ```
79
+ よろしくお願いします。