Update main.py
Browse files
main.py
CHANGED
@@ -13,7 +13,7 @@ import PIL.Image
|
|
13 |
|
14 |
from imgurpython import ImgurClient
|
15 |
from Image_text_generation import Image_text_Generator
|
16 |
-
from
|
17 |
|
18 |
#==========================
|
19 |
# API 金鑰
|
@@ -129,6 +129,47 @@ def handle_image_message(event):
|
|
129 |
TextSendMessage(text="⚠️ 圖片生成失敗,請稍後再試~")
|
130 |
)
|
131 |
return
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
132 |
|
133 |
|
134 |
# ========
|
|
|
13 |
|
14 |
from imgurpython import ImgurClient
|
15 |
from Image_text_generation import Image_text_Generator
|
16 |
+
from Uploading_images_file import get_image_url,get_file_url, store_user_message, analyze_with_gemini, get_previous_message
|
17 |
|
18 |
#==========================
|
19 |
# API 金鑰
|
|
|
129 |
TextSendMessage(text="⚠️ 圖片生成失敗,請稍後再試~")
|
130 |
)
|
131 |
return
|
132 |
+
|
133 |
+
# ========
|
134 |
+
# 傳文件
|
135 |
+
# ========
|
136 |
+
if event.message.type == "file":
|
137 |
+
file_name = event.message.file_name
|
138 |
+
file_path = get_file_url(event.message.id, file_name, file_type="pdf")
|
139 |
+
|
140 |
+
if file_path:
|
141 |
+
file_generator = Image_text_Generator() # 確保這個類別已正確初始化
|
142 |
+
store_user_message(user_id, "file", file_path)
|
143 |
+
line_bot_api.reply_message(
|
144 |
+
event.reply_token,
|
145 |
+
TextSendMessage(text="📄 文件已接收成功囉,幫我輸入你想詢問的問題喔~")
|
146 |
+
)
|
147 |
+
else:
|
148 |
+
line_bot_api.reply_message(
|
149 |
+
event.reply_token,
|
150 |
+
TextSendMessage(text="❌ 沒有成功接收到文件,請再試一次。")
|
151 |
+
)
|
152 |
+
return
|
153 |
+
|
154 |
+
# 使用者在傳完文件後輸入問題
|
155 |
+
previous_message = get_previous_message(user_id)
|
156 |
+
if previous_message and previous_message["type"] == "file" and event.message.type == "text":
|
157 |
+
file_path = previous_message["content"]
|
158 |
+
user_text = event.message.text
|
159 |
+
store_user_message(user_id, "text", user_text)
|
160 |
+
|
161 |
+
try:
|
162 |
+
if not os.path.exists(file_path):
|
163 |
+
raise FileNotFoundError(f"📂 檔案路徑無效:{file_path}")
|
164 |
+
|
165 |
+
file_generator = Image_text_Generator(imgur)
|
166 |
+
completion = file_generator.generate_txt_with_gemini([user_text, file_path])
|
167 |
+
|
168 |
+
# 若是 Gemini 回傳的內容需取 text
|
169 |
+
out = completion.text if hasattr(completion, "text") else str(completion)
|
170 |
+
|
171 |
+
except Exception as e:
|
172 |
+
out = f"⚠️ 發生錯誤:{e}"
|
173 |
|
174 |
|
175 |
# ========
|