teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

4

追記

2018/05/25 17:03

投稿

umyu
umyu

スコア5846

answer CHANGED
@@ -1,14 +1,15 @@
1
1
  試してませんが、 [line-bot-sdk-python](https://github.com/line/line-bot-sdk-python/blob/master/examples/flask-kitchensink/app.py#L92)を見る限りでは`event.message.text` に発言した文字列が入ってませんか?
2
2
  あとは以下のようなコードで。
3
3
  ```Python
4
+ text = event.message.text
4
5
  if text in ['zaif', 'ZAIF', 'ザイフ']:
5
6
  print('IF')
6
7
  else:
7
8
  print('ELSE')
8
9
  ```
9
10
 
10
- ただ、これだとLINE BOT/ZAIF API間の処理の結合度が高くテストしずらいので、
11
+ ただ、これだと`LINE BOT`/`ZAIF API`間の処理の結合度が高くテストしずらいので、
11
- まずLINE BOTの部分ははずして、以下のようなコンソールで文字列を元に返す関数を作ったほうがいいです。
12
+ まず`LINE BOT`の部分ははずして、以下のようなコンソールで文字列を元に返す関数を作って呼び出したほうがいいです。
12
13
  テスト済みのパーツを組み立てるみたいなイメージです。
13
14
  ```Python
14
15
  def reply_message(text):

3

追記

2018/05/25 17:03

投稿

umyu
umyu

スコア5846

answer CHANGED
@@ -7,15 +7,15 @@
7
7
  print('ELSE')
8
8
  ```
9
9
 
10
- ただ、これだと処理の結合度が高くテストしずらいので、
10
+ ただ、これだとLINE BOT/ZAIF API間の処理の結合度が高くテストしずらいので、
11
11
  まずLINE BOTの部分ははずして、以下のようなコンソールで文字列を元に返す関数を作ったほうがいいです。
12
12
  テスト済みのパーツを組み立てるみたいなイメージです。
13
13
  ```Python
14
14
  def reply_message(text):
15
15
  if text in ['zaif', 'ZAIF', 'ザイフ']:
16
- return 'if'
16
+ return 'zaifでのビットコインの価格は'
17
17
  else:
18
- return 'else'
18
+ return 'もう一度お願いします'
19
19
  ```
20
20
  ◇参考情報
21
21
  0. [メッセージイベント](https://developers.line.me/ja/docs/messaging-api/reference/#message-event)

2

追記

2018/05/25 16:56

投稿

umyu
umyu

スコア5846

answer CHANGED
@@ -11,7 +11,7 @@
11
11
  まずLINE BOTの部分ははずして、以下のようなコンソールで文字列を元に返す関数を作ったほうがいいです。
12
12
  テスト済みのパーツを組み立てるみたいなイメージです。
13
13
  ```Python
14
- def replay_message(text):
14
+ def reply_message(text):
15
15
  if text in ['zaif', 'ZAIF', 'ザイフ']:
16
16
  return 'if'
17
17
  else:

1

追記

2018/05/25 16:50

投稿

umyu
umyu

スコア5846

answer CHANGED
@@ -1,5 +1,21 @@
1
+ 試してませんが、 [line-bot-sdk-python](https://github.com/line/line-bot-sdk-python/blob/master/examples/flask-kitchensink/app.py#L92)を見る限りでは`event.message.text` に発言した文字列が入ってませんか?
2
+ あとは以下のようなコードで。
3
+ ```Python
1
- 試してませんが、 `event.message.text` に発言した文字列が入ってませんか?
4
+ if text in ['zaif', 'ZAIF', 'ザイフ']:
5
+ print('IF')
6
+ else:
7
+ print('ELSE')
8
+ ```
2
9
 
10
+ ただ、これだと処理の結合度が高くテストしずらいので、
11
+ まずLINE BOTの部分ははずして、以下のようなコンソールで文字列を元に返す関数を作ったほうがいいです。
12
+ テスト済みのパーツを組み立てるみたいなイメージです。
13
+ ```Python
14
+ def replay_message(text):
15
+ if text in ['zaif', 'ZAIF', 'ザイフ']:
16
+ return 'if'
17
+ else:
18
+ return 'else'
19
+ ```
3
20
  ◇参考情報
4
- 0. [メッセージイベント](https://developers.line.me/ja/docs/messaging-api/reference/#message-event)
21
+ 0. [メッセージイベント](https://developers.line.me/ja/docs/messaging-api/reference/#message-event)
5
- 0. [line-bot-sdk-python](https://github.com/line/line-bot-sdk-python/blob/master/examples/flask-kitchensink/app.py)