Evaaaaa06 commited on
Commit
23af7a0
·
verified ·
1 Parent(s): 78252d0

Update main.py

Browse files
Files changed (1) hide show
  1. main.py +42 -1
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 Uploading_images import get_image_url, store_user_message, analyze_with_gemini, get_previous_message
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
  # ========