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

質問編集履歴

3

その他のファイルも追加しました。

2021/07/27 04:39

投稿

aoi68
aoi68

スコア9

title CHANGED
File without changes
body CHANGED
@@ -71,4 +71,23 @@
71
71
 
72
72
  if __name__ == "__main__":
73
73
  app.run()
74
+ ```
75
+ ```requirements.txt
76
+ certifi==2021.5.30
77
+ charset-normalizer==2.0.3
78
+ click==8.0.1
79
+ Flask==2.0.1
80
+ future==0.18.2
81
+ gunicorn==20.1.0
82
+ idna==3.2
83
+ itsdangerous==2.0.1
84
+ Jinja2==3.0.1
85
+ line-bot-sdk==1.19.0
86
+ MarkupSafe==2.0.1
87
+ requests==2.26.0
88
+ urllib3==1.26.6
89
+ Werkzeug==2.0.1
90
+ ```
91
+ ```procfile
92
+ web: gunicorn app:app --log-file -
74
93
  ```

2

二箇所、暗号のような部分を伏せました

2021/07/27 04:39

投稿

aoi68
aoi68

スコア9

title CHANGED
File without changes
body CHANGED
@@ -19,8 +19,8 @@
19
19
 
20
20
  app = Flask(__name__)
21
21
 
22
- line_bot_api = LineBotApi('fyMaA+zFTba4fkMhMpfQa+twJqw+/z/BF2XvMRS7wxMLnwOxVanmTxqEXyJo2RGuxAyJNZx2dWgy6FB4lue4XeoOv+0nwhARQf0tBDN2lSLjJHdDkAG6ykknOqICAZVPTlhLlReOvLAN1MMLj7IHpgdB04t89/1O/w1cDnyilFU=')
23
- handler = WebhookHandler('4c2582c5fcfd8dbe6fc51c5a259035e6')
22
+ line_bot_api = LineBotApi('ふせさせていただきます。')
23
+ handler = WebhookHandler('ふせさせていただきます')
24
24
 
25
25
  @app.route("/")
26
26
  def test():

1

コードを追加しました。reply_message変数に格納している「勉強時間は{hour}時間....」の部分を「勉強時間{hour}時間....」といった風に「は」の文字を消しただけです。

2021/07/27 04:33

投稿

aoi68
aoi68

スコア9

title CHANGED
File without changes
body CHANGED
@@ -2,4 +2,73 @@
2
2
 
3
3
  [linebotの作り方 for youtube](https://youtu.be/jBsvdgFMZtg)
4
4
 
5
- この方の動画を参考にしてlinebotを作り、無事に完成したのですが、自分で改良する際に、vscodeのコードを変えても変更されませんでした。どうすれば変更した部分が反映されるのでしょうか。
5
+ この方の動画を参考にしてlinebotを作り、無事に完成したのですが、自分で改良する際に、vscodeのコードを変えても変更されませんでした。どうすれば変更した部分が反映されるのでしょうか。
6
+
7
+ ```python
8
+ from flask import Flask, request, abort
9
+
10
+ from linebot import (
11
+ LineBotApi, WebhookHandler
12
+ )
13
+ from linebot.exceptions import (
14
+ InvalidSignatureError
15
+ )
16
+ from linebot.models import (
17
+ MessageEvent, TextMessage, TextSendMessage,
18
+ )
19
+
20
+ app = Flask(__name__)
21
+
22
+ line_bot_api = LineBotApi('fyMaA+zFTba4fkMhMpfQa+twJqw+/z/BF2XvMRS7wxMLnwOxVanmTxqEXyJo2RGuxAyJNZx2dWgy6FB4lue4XeoOv+0nwhARQf0tBDN2lSLjJHdDkAG6ykknOqICAZVPTlhLlReOvLAN1MMLj7IHpgdB04t89/1O/w1cDnyilFU=')
23
+ handler = WebhookHandler('4c2582c5fcfd8dbe6fc51c5a259035e6')
24
+
25
+ @app.route("/")
26
+ def test():
27
+ return "OK"
28
+
29
+ @app.route("/callback", methods=['POST'])
30
+ def callback():
31
+ # get X-Line-Signature header value
32
+ signature = request.headers['X-Line-Signature']
33
+
34
+ # get request body as text
35
+ body = request.get_data(as_text=True)
36
+ app.logger.info("Request body: " + body)
37
+
38
+ # handle webhook body
39
+ try:
40
+ handler.handle(body, signature)
41
+ except InvalidSignatureError:
42
+ print("Invalid signature. Please check your channel access token/channel secret.")
43
+ abort(400)
44
+
45
+ return 'OK'
46
+
47
+ from time import time
48
+ users = {}
49
+ @handler.add(MessageEvent, message=TextMessage)
50
+ def handle_message(event):
51
+ userId = event.source.user_id
52
+ if event.message.text == "勉強開始":
53
+ reply_message = "計測を開始しました。"
54
+ if not userId in users:
55
+ users[userId] = {}
56
+ users[userId]["total"] = 0
57
+ users[userId]["start"] = time()
58
+ else:
59
+ end = time()
60
+ difference = int(end - users[userId]["start"])
61
+ users[userId]["total"] += difference
62
+ hour = difference // 3600
63
+ minute = (difference % 3600) // 60
64
+ second = difference % 60
65
+ reply_message = f"勉強時間は{hour}時間{minute}分{second}秒です。お疲れ様でした!合計で{users[userId]['total']}秒勉強しています。"
66
+
67
+ line_bot_api.reply_message(
68
+ event.reply_token,
69
+ TextSendMessage(text=reply_message))
70
+
71
+
72
+ if __name__ == "__main__":
73
+ app.run()
74
+ ```