Update main.py
Browse files
main.py
CHANGED
@@ -84,13 +84,40 @@ def handle_image_message(event):
|
|
84 |
user_id = event.source.user_id
|
85 |
chat = chat_sessions.get(user_id) or model.start_chat(history=[])
|
86 |
chat_sessions[user_id] = chat
|
|
|
87 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
88 |
# ========
|
89 |
# ηζεη
|
90 |
# ========
|
91 |
-
user_text
|
92 |
-
image_url = None
|
93 |
-
if user_text and user_text.startswith("ηζεη"):
|
94 |
prompt = user_text.replace("ηζεη", "").strip()
|
95 |
|
96 |
# ε
η«ε³εθ¦ιΏε
tokenιζ
|
@@ -122,49 +149,22 @@ def handle_image_message(event):
|
|
122 |
TextSendMessage(text="β οΈ εηηζε€±ζοΌθ«η¨εΎε試~")
|
123 |
)
|
124 |
return
|
125 |
-
|
126 |
-
# ========
|
127 |
-
# δΈε³εη
|
128 |
-
# ========
|
129 |
-
if event.message.type == "image":
|
130 |
-
image_path = get_image_url(event.message.id)
|
131 |
-
if image_path:
|
132 |
-
store_user_message(user_id, "image", image_path)
|
133 |
-
line_bot_api.reply_message(event.reply_token, TextSendMessage(text="εηε·²ζ₯ζΆζεεοΌεΉ«ζθΌΈε
₯δ½ ζ³θ©’εηει‘ε~"))
|
134 |
-
else:
|
135 |
-
line_bot_api.reply_message(event.reply_token, TextSendMessage(text="ζ²ζζ₯ζΆε°εη~"))
|
136 |
-
return
|
137 |
-
|
138 |
-
previous_message = get_previous_message(user_id)
|
139 |
-
if previous_message and previous_message["type"] == "image" and event.message.type == "text":
|
140 |
-
image_path = previous_message["content"]
|
141 |
-
user_text = event.message.text
|
142 |
-
store_user_message(user_id, "text", user_text)
|
143 |
-
try:
|
144 |
-
if not os.path.exists(image_path):
|
145 |
-
raise FileNotFoundError(f"εηθ·―εΎη‘ζοΌ{image_path}")
|
146 |
-
organ = PIL.Image.open(image_path)
|
147 |
-
completion = chat.send_message([user_text, organ])
|
148 |
-
out = completion.text
|
149 |
-
except Exception as e:
|
150 |
-
out = f"ηΌηι―θͺ€: {e}"
|
151 |
|
152 |
# ========
|
153 |
# η΄ζε
|
154 |
# ========
|
155 |
-
|
156 |
-
if event.message.type != "text":
|
157 |
line_bot_api.reply_message(event.reply_token, TextSendMessage(text="θ«θΌΈε
₯ζεζεη~"))
|
158 |
return
|
159 |
-
|
160 |
line_bot_api.reply_message(event.reply_token, TextSendMessage(text="Bye!"))
|
161 |
return
|
162 |
-
|
163 |
-
|
164 |
-
|
165 |
-
|
166 |
-
|
167 |
-
|
168 |
except:
|
169 |
out = "ε·θ‘εΊι―!θ«ζεθͺͺζ³οΌ"
|
170 |
|
|
|
84 |
user_id = event.source.user_id
|
85 |
chat = chat_sessions.get(user_id) or model.start_chat(history=[])
|
86 |
chat_sessions[user_id] = chat
|
87 |
+
previous_message = get_previous_message(user_id)
|
88 |
|
89 |
+
user_text = event.message.text if event.message.type == "text" else None
|
90 |
+
image_url = None
|
91 |
+
|
92 |
+
if previous_message and previous_message["type"] == "image" and event.message.type == "text":
|
93 |
+
image_path = previous_message["content"]
|
94 |
+
user_text = event.message.text
|
95 |
+
store_user_message(user_id, "text", user_text)
|
96 |
+
try:
|
97 |
+
if not os.path.exists(image_path):
|
98 |
+
raise FileNotFoundError(f"εηθ·―εΎη‘ζοΌ{image_path}")
|
99 |
+
previous_img = PIL.Image.open(image_path)
|
100 |
+
completion = chat.send_message([user_text, previous_img])
|
101 |
+
out = completion.text
|
102 |
+
except Exception as e:
|
103 |
+
out = f"ηΌηι―θͺ€: {e}"
|
104 |
+
|
105 |
+
# ========
|
106 |
+
# δΈε³εη
|
107 |
+
# ========
|
108 |
+
elif event.message.type == "image":
|
109 |
+
image_path = get_image_url(event.message.id)
|
110 |
+
if image_path:
|
111 |
+
store_user_message(user_id, "image", image_path)
|
112 |
+
line_bot_api.reply_message(event.reply_token, TextSendMessage(text="εηε·²ζ₯ζΆζεεοΌεΉ«ζθΌΈε
₯δ½ ζ³θ©’εηει‘ε~"))
|
113 |
+
else:
|
114 |
+
line_bot_api.reply_message(event.reply_token, TextSendMessage(text="ζ²ζζ₯ζΆε°εη~"))
|
115 |
+
return
|
116 |
+
|
117 |
# ========
|
118 |
# ηζεη
|
119 |
# ========
|
120 |
+
elif user_text and user_text.startswith("ηζεη"):
|
|
|
|
|
121 |
prompt = user_text.replace("ηζεη", "").strip()
|
122 |
|
123 |
# ε
η«ε³εθ¦ιΏε
tokenιζ
|
|
|
149 |
TextSendMessage(text="β οΈ εηηζε€±ζοΌθ«η¨εΎε試~")
|
150 |
)
|
151 |
return
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
152 |
|
153 |
# ========
|
154 |
# η΄ζε
|
155 |
# ========
|
156 |
+
elif event.message.type != "text" or event.message.type != "image":
|
|
|
157 |
line_bot_api.reply_message(event.reply_token, TextSendMessage(text="θ«θΌΈε
₯ζεζεη~"))
|
158 |
return
|
159 |
+
elif event.message.text == "εθ¦":
|
160 |
line_bot_api.reply_message(event.reply_token, TextSendMessage(text="Bye!"))
|
161 |
return
|
162 |
+
elif working_status:
|
163 |
+
try:
|
164 |
+
prompt = event.message.text
|
165 |
+
store_user_message(user_id, "text", prompt)
|
166 |
+
completion = chat.send_message(prompt)
|
167 |
+
out = completion.text if completion.text else "ζδΈε€ͺζδ»ιΊΌζζδΉ~"
|
168 |
except:
|
169 |
out = "ε·θ‘εΊι―!θ«ζεθͺͺζ³οΌ"
|
170 |
|