webhook 서버 디버깅용

This commit is contained in:
2025-06-30 15:40:11 +09:00
parent ee8be3d5c0
commit 72b5d14d4f
2 changed files with 29 additions and 27 deletions

View File

@ -17,4 +17,5 @@ services:
- 5151:5000
environment:
- DOMAIN=https://webhook.firstgarden.co.kr
- FLASK_DEBUG=1 #디버그 활성화
restart: unless-stopped

View File

@ -4,9 +4,13 @@ import sqlite3
from datetime import datetime
app = Flask(__name__)
DB_PATH = '/data/weather.sqlite'
DOMAIN = os.getenv('DOMAIN', 'http://localhost:5000')
# 환경변수 FLASK_DEBUG를 받아서 '1'일 때만 True, 아니면 False로 처리 (기본 False)
debug_env = os.getenv('FLASK_DEBUG', '0')
DEBUG_MODE = debug_env == '1'
def get_rain_data(date):
conn = sqlite3.connect(DB_PATH)
@ -22,19 +26,11 @@ def get_rain_data(date):
conn.close()
return time_rain_list, total_rainfall
@app.route('/webhook', methods=['POST'])
def webhook():
data = request.json
utterance = data.get("userRequest", {}).get("utterance", "").strip()
today = datetime.today().strftime('%Y%m%d')
image_filename = f"weather_capture_{today}.png"
image_path = f"/data/{image_filename}"
image_url = f"{DOMAIN}/data/{image_filename}"
response_text = ""
if "날씨" in utterance or "강수" in utterance or "" in utterance:
try:
time_rain_list, total_rainfall = get_rain_data(today)
@ -51,12 +47,18 @@ def webhook():
except Exception as e:
response_text = f"데이터 조회 중 오류가 발생했습니다: {e}"
else:
response_text = "원하시는 정보를 다시 말씀해 주세요. 예: '오늘 비 와요?', '강수량 알려줘'"
outputs = [{"simpleText": {"text": response_text}}]
image_filename = f"weather_capture_{today}.png"
image_path = f"/data/{image_filename}"
if os.path.isfile(image_path) and ("날씨" in utterance or "강수" in utterance or "" in utterance):
outputs = [{
"simpleText": {
"text": response_text
}
}]
if os.path.isfile(image_path):
image_url = f"{DOMAIN}/data/{image_filename}"
outputs.append({
"image": {
"imageUrl": image_url,
@ -71,6 +73,5 @@ def webhook():
}
})
if __name__ == '__main__':
app.run(host='0.0.0.0', port=5000)
app.run(host='0.0.0.0', port=5000, debug=DEBUG_MODE)