質問編集履歴
4
コードの修正
test
CHANGED
File without changes
|
test
CHANGED
@@ -20,7 +20,7 @@
|
|
20
20
|
|
21
21
|
【申請A】
|
22
22
|
|
23
|
-
|
23
|
+
yyyy/mm/dd hh:mm ~ hh:mm
|
24
24
|
|
25
25
|
...のため
|
26
26
|
|
3
コードの修正
test
CHANGED
File without changes
|
test
CHANGED
@@ -210,7 +210,7 @@
|
|
210
210
|
|
211
211
|
)
|
212
212
|
|
213
|
-
str_work_date = event.postback.params['date']
|
213
|
+
str_work_date = event.postback.params['date'] # おそらくここでエラーが出ている...
|
214
214
|
|
215
215
|
mode_work_date = re.sub("-", "/", str_work_date)
|
216
216
|
|
2
質問の修正
test
CHANGED
@@ -1 +1 @@
|
|
1
|
-
LineBotの日時選択アクションが
|
1
|
+
LineBotの日時選択アクションで取得したデータの扱い方が分からない
|
test
CHANGED
@@ -36,7 +36,25 @@
|
|
36
36
|
|
37
37
|
|
38
38
|
|
39
|
+
(任意の文字列を送信したら日付を入力するための日時選択アクションが返ってくる動作を想定していたのですが、bot画面上に日時選択アクションが表示されません。) <= datetimeのパッケージをインポートしていなかったのが原因でした。日時選択アクションは表示されるようになったのですが、取得した日付のデータの表示ができません。logを表示した際に出ていたエラーを以下に示します。
|
40
|
+
|
41
|
+
|
42
|
+
|
43
|
+
```
|
44
|
+
|
45
|
+
func(event)
|
46
|
+
|
47
|
+
File "main.py", line 98, in handle_message
|
48
|
+
|
49
|
+
str_work_date = event.postback.params['date']
|
50
|
+
|
51
|
+
AttributeError: 'MessageEvent' object has no attribute 'postback'
|
52
|
+
|
53
|
+
```
|
54
|
+
|
55
|
+
|
56
|
+
|
39
|
-
|
57
|
+
おそらく正しくデータが格納できていないのかなと思っています。LineBotの作成をするのが初めてなので、おそらく何か勘違いしているのだと思っていろいろと調べたのですが原因が分かりませんでした。詳しい方がいらっしゃいましたら教えていただけると幸いです。
|
40
58
|
|
41
59
|
|
42
60
|
|
@@ -72,8 +90,12 @@
|
|
72
90
|
|
73
91
|
)
|
74
92
|
|
93
|
+
import datetime
|
94
|
+
|
75
95
|
import os
|
76
96
|
|
97
|
+
import re
|
98
|
+
|
77
99
|
|
78
100
|
|
79
101
|
app = Flask(__name__)
|
@@ -96,6 +118,48 @@
|
|
96
118
|
|
97
119
|
|
98
120
|
|
121
|
+
@app.route("/")
|
122
|
+
|
123
|
+
def get_date_template():
|
124
|
+
|
125
|
+
date_template = TemplateSendMessage(
|
126
|
+
|
127
|
+
alt_text='作業日を選択せよ',
|
128
|
+
|
129
|
+
template=ButtonsTemplate(
|
130
|
+
|
131
|
+
text='このボタンを押してね',
|
132
|
+
|
133
|
+
title='作業日を選択せよ',
|
134
|
+
|
135
|
+
image_size='cover',
|
136
|
+
|
137
|
+
actions=[
|
138
|
+
|
139
|
+
DatetimePickerTemplateAction(
|
140
|
+
|
141
|
+
label='選択',
|
142
|
+
|
143
|
+
data='action=buy&itemid=1',
|
144
|
+
|
145
|
+
mode='date',
|
146
|
+
|
147
|
+
initial=str(datetime.date.today())
|
148
|
+
|
149
|
+
)
|
150
|
+
|
151
|
+
]
|
152
|
+
|
153
|
+
)
|
154
|
+
|
155
|
+
)
|
156
|
+
|
157
|
+
return date_template
|
158
|
+
|
159
|
+
|
160
|
+
|
161
|
+
|
162
|
+
|
99
163
|
@app.route("/callback", methods=['POST'])
|
100
164
|
|
101
165
|
def callback():
|
@@ -136,39 +200,25 @@
|
|
136
200
|
|
137
201
|
def handle_message(event):
|
138
202
|
|
139
|
-
work_date =
|
203
|
+
work_date = get_date_template()
|
140
|
-
|
141
|
-
|
204
|
+
|
142
|
-
|
143
|
-
template=ButtonsTemplate(
|
144
|
-
|
145
|
-
text='開始日時を入力',
|
146
|
-
|
147
|
-
actions=[
|
148
|
-
|
149
|
-
|
205
|
+
line_bot_api.reply_message(
|
150
|
-
|
151
|
-
|
206
|
+
|
152
|
-
|
153
|
-
data='action=buy&itemid=1',
|
154
|
-
|
155
|
-
|
207
|
+
event.reply_token,
|
156
|
-
|
208
|
+
|
157
|
-
|
209
|
+
work_date
|
158
|
-
|
159
|
-
)
|
160
|
-
|
161
|
-
]
|
162
|
-
|
163
|
-
)
|
164
210
|
|
165
211
|
)
|
166
212
|
|
213
|
+
str_work_date = event.postback.params['date']
|
214
|
+
|
215
|
+
mode_work_date = re.sub("-", "/", str_work_date)
|
216
|
+
|
167
217
|
line_bot_api.reply_message(
|
168
218
|
|
169
|
-
|
219
|
+
event.reply_token,
|
170
|
-
|
220
|
+
|
171
|
-
|
221
|
+
TextSendMessage(text=mode_work_date)
|
172
222
|
|
173
223
|
)
|
174
224
|
|
1
進捗の追加
test
CHANGED
File without changes
|
test
CHANGED
@@ -6,9 +6,9 @@
|
|
6
6
|
|
7
7
|
1. リッチメニューから申請内容を選択(申請Aとします)
|
8
8
|
|
9
|
-
2. "申請A"がbotに送信される <== ここまではLine Official Accont Managerを使うことでうまくいきました
|
9
|
+
2. "申請A"がbotに送信される <== ここまではLine Official Account Managerを使うことでうまくいきました
|
10
10
|
|
11
|
-
2. 作業日の入力 <== 現在これを行っています
|
11
|
+
2. 作業日の入力 <== 現在これを行っています(とりあえずまだここまでしかやってません)
|
12
12
|
|
13
13
|
3. 作業の開始時間と終了時間を入力
|
14
14
|
|