no message

This commit is contained in:
2025-06-30 15:58:19 +09:00
parent ea9587082d
commit ca84b335d5

View File

@ -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)