no message
This commit is contained in:
@ -1,5 +1,5 @@
|
|||||||
import os
|
import os
|
||||||
from flask import Flask, request, jsonify, send_from_directory
|
from flask import Flask, request, jsonify, send_from_directory, make_response
|
||||||
import sqlite3
|
import sqlite3
|
||||||
from datetime import datetime
|
from datetime import datetime
|
||||||
|
|
||||||
@ -33,10 +33,10 @@ def serve_data_file(filename):
|
|||||||
@app.route('/webhook', methods=['POST'])
|
@app.route('/webhook', methods=['POST'])
|
||||||
def webhook():
|
def webhook():
|
||||||
try:
|
try:
|
||||||
data = request.get_json(silent=True) # 비어있어도 None 반환, 예외 안남
|
data = request.get_json(silent=True) # 비어있어도 None 반환, 예외 없음
|
||||||
# 필요시 data['userRequest']['utterance'] 사용 가능
|
# 필요 시 data['userRequest']['utterance'] 사용 가능
|
||||||
today = datetime.today().strftime('%Y%m%d')
|
today = datetime.today().strftime('%Y%m%d')
|
||||||
|
|
||||||
time_rain_list, total_rainfall = get_rain_data(today)
|
time_rain_list, total_rainfall = get_rain_data(today)
|
||||||
|
|
||||||
if not time_rain_list:
|
if not time_rain_list:
|
||||||
@ -68,16 +68,20 @@ def webhook():
|
|||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|
||||||
return jsonify({
|
response_body = {
|
||||||
"version": "2.0",
|
"version": "2.0",
|
||||||
"template": {
|
"template": {
|
||||||
"outputs": outputs
|
"outputs": outputs
|
||||||
}
|
}
|
||||||
})
|
}
|
||||||
|
|
||||||
|
# JSON 응답 생성 및 Content-Type 명시 (charset=utf-8 포함)
|
||||||
|
resp = make_response(jsonify(response_body))
|
||||||
|
resp.headers['Content-Type'] = 'application/json; charset=utf-8'
|
||||||
|
return resp
|
||||||
|
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
# 에러 발생 시 카카오 챗봇이 받을 수 있는 기본 메시지 반환
|
error_body = {
|
||||||
return jsonify({
|
|
||||||
"version": "2.0",
|
"version": "2.0",
|
||||||
"template": {
|
"template": {
|
||||||
"outputs": [{
|
"outputs": [{
|
||||||
@ -86,7 +90,10 @@ def webhook():
|
|||||||
}
|
}
|
||||||
}]
|
}]
|
||||||
}
|
}
|
||||||
})
|
}
|
||||||
|
resp = make_response(jsonify(error_body))
|
||||||
|
resp.headers['Content-Type'] = 'application/json; charset=utf-8'
|
||||||
|
return resp
|
||||||
|
|
||||||
if __name__ == '__main__':
|
if __name__ == '__main__':
|
||||||
app.run(host='0.0.0.0', port=5000, debug=DEBUG_MODE)
|
app.run(host='0.0.0.0', port=5000, debug=DEBUG_MODE)
|
||||||
|
|||||||
Reference in New Issue
Block a user