hazelhh commited on
Commit
064b009
·
verified ·
1 Parent(s): 14a8337

Update main.py

Browse files
Files changed (1) hide show
  1. main.py +25 -5
main.py CHANGED
@@ -2,7 +2,7 @@ from fastapi import FastAPI, Request, Header, BackgroundTasks, HTTPException, st
2
  from fastapi.middleware.cors import CORSMiddleware
3
  from linebot import LineBotApi, WebhookHandler
4
  from linebot.exceptions import InvalidSignatureError
5
- from linebot.models import MessageEvent, TextMessage, TextSendMessage, ImageMessage
6
  import json
7
  import os
8
  import requests
@@ -96,16 +96,36 @@ def handle_text_message(event):
96
 
97
  all_images = user_states[user_id]["upper_body_images"] + user_states[user_id]["lower_body_images"]
98
 
99
- line_bot_api.reply_message(
100
- reply_token,
101
- TextSendMessage(text=f"正在為您生成適合「{text}」的穿搭建議... 請稍候。")
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
102
  )
103
 
104
  response_text = get_gemini_response(prompt, all_images)
105
 
106
  line_bot_api.push_message(
107
  user_id,
108
- TextSendMessage(text=response_text)
109
  )
110
  # 重置狀態以便下一次使用
111
  user_states[user_id] = defaultdict(lambda: {"upper_body_images": [], "lower_body_images": [], "current_mode": None, "is_ready": False})[user_id]
 
2
  from fastapi.middleware.cors import CORSMiddleware
3
  from linebot import LineBotApi, WebhookHandler
4
  from linebot.exceptions import InvalidSignatureError
5
+ from linebot.models import MessageEvent, TextMessage, TextSendMessage, ImageMessage, ImageSendMessage
6
  import json
7
  import os
8
  import requests
 
96
 
97
  all_images = user_states[user_id]["upper_body_images"] + user_states[user_id]["lower_body_images"]
98
 
99
+ # 準備要回覆的訊息列表
100
+ messages_to_send = [
101
+ TextSendMessage(text="正在為您生成穿搭建議... 請稍候。")
102
+ ]
103
+
104
+ # 由於 LINE 的 ImageMessage 需要公開網址,這裡使用佔位符
105
+ # 在實際應用中,您需要將圖片上傳至一個可公開存取的服務
106
+ placeholder_image_urls = [
107
+ f"https://placehold.co/1024x1024?text=Upper_Body_{i+1}" for i in range(MAX_IMAGES_PER_TYPE)
108
+ ] + [
109
+ f"https://placehold.co/1024x1024?text=Lower_Body_{i+1}" for i in range(MAX_IMAGES_PER_TYPE)
110
+ ]
111
+
112
+ messages_to_send.append(
113
+ TextSendMessage(text="這是您上傳的六件衣服:")
114
+ )
115
+
116
+ for url in placeholder_image_urls:
117
+ messages_to_send.append(ImageSendMessage(original_content_url=url, preview_image_url=url))
118
+
119
+ line_bot_api.push_message(
120
+ user_id,
121
+ messages_to_send
122
  )
123
 
124
  response_text = get_gemini_response(prompt, all_images)
125
 
126
  line_bot_api.push_message(
127
  user_id,
128
+ TextSendMessage(text=f"這是為您推薦的搭配:\n\n{response_text}")
129
  )
130
  # 重置狀態以便下一次使用
131
  user_states[user_id] = defaultdict(lambda: {"upper_body_images": [], "lower_body_images": [], "current_mode": None, "is_ready": False})[user_id]