FreshPixels commited on
Commit
bed37df
·
verified ·
1 Parent(s): a63ab47

Update server.py

Browse files
Files changed (1) hide show
  1. server.py +40 -1
server.py CHANGED
@@ -106,7 +106,38 @@ def download_tg_file(file_id, file_name, retries=3):
106
 
107
  log("❌ Не удалось скачать файл. Попробуй скинуть его кодом (текстом).")
108
  return None
 
 
 
 
 
 
 
 
 
 
109
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
110
 
111
  def call_model(model_path, prompt, sys_prompt=None):
112
  if sys_prompt is None:
@@ -142,7 +173,7 @@ interpreter.llm.api_base = API_BASE
142
  interpreter.llm.context_window = 32000
143
  interpreter.llm.max_tokens = 4000
144
  interpreter.auto_run = True
145
- interpreter.custom_instructions = "Ты элитный ИИ-разработчик. Если пользователь просит обработать файл, прочитай его содержимое через python, прежде чем делать выводы. Сохраняй результаты в нужные папки."
146
 
147
  def run_pipeline(chat_id, task_description):
148
  send_tg(chat_id, "🚀 **Запуск цикла разработки SaaS!**\n\nPhase 1: ТЗ кодеру...")
@@ -294,6 +325,13 @@ class WebhookHandler(BaseHTTPRequestHandler):
294
  except Exception as e: send_tg(chat_id, f"❌ Ошибка агента: {e}")
295
  return
296
 
 
 
 
 
 
 
 
297
  else:
298
  # ОБЫЧНЫЙ РЕЖИМ (если это не команда)
299
  full_prompt = text + file_context
@@ -303,6 +341,7 @@ class WebhookHandler(BaseHTTPRequestHandler):
303
  send_tg(chat_id, reply)
304
  except Exception as e: send_tg(chat_id, f"❌ Ошибка: {e}")
305
 
 
306
  if __name__ == "__main__":
307
  log(f"🚀 Starting Unified Server on port {PORT}")
308
  HTTPServer(('0.0.0.0', PORT), WebhookHandler).serve_forever()
 
106
 
107
  log("❌ Не удалось скачать файл. Попробуй скинуть его кодом (текстом).")
108
  return None
109
+
110
+ # 🔥 НОВАЯ ФУНКЦИЯ: Отправка файлов пользователю в Телеграм
111
+ def send_tg_file(chat_id, file_path):
112
+ if not os.path.exists(file_path):
113
+ send_tg(chat_id, f"❌ Файл не найден: {file_path}")
114
+ return
115
+
116
+ # Пускаем трафик через твой Cloudflare Proxy
117
+ base_api = CF_URL if CF_URL else "https://api.telegram.org"
118
+ url = f"{base_api}/bot{TOKEN}/sendDocument"
119
 
120
+ send_tg(chat_id, f"📤 Отправляю файл: {os.path.basename(file_path)}...")
121
+
122
+ try:
123
+ with open(file_path, 'rb') as f:
124
+ # Используем requests с verify=False для обхода багов Hugging Face
125
+ res = requests.post(
126
+ url,
127
+ data={'chat_id': chat_id},
128
+ files={'document': f},
129
+ verify=False,
130
+ timeout=60
131
+ )
132
+ if res.status_code == 200:
133
+ log(f"✅ Файл {file_path} успешно отправлен в ТГ!")
134
+ else:
135
+ log(f"⚠️ Ошибка отправки файла: {res.text}")
136
+ send_tg(chat_id, "❌ Не удалось отправить файл (ошибка сервера Telegram).")
137
+ except Exception as e:
138
+ log(f"❌ Ошибка при отправке файла: {e}")
139
+ send_tg(chat_id, f"❌ Ошибка при отправке: {e}")
140
+
141
 
142
  def call_model(model_path, prompt, sys_prompt=None):
143
  if sys_prompt is None:
 
173
  interpreter.llm.context_window = 32000
174
  interpreter.llm.max_tokens = 4000
175
  interpreter.auto_run = True
176
+ interpreter.custom_instructions = "Ты элитный ИИ-разработчик. Если пользователь просит создать файл, сохрани его на диск и скажи пользователю, что он может скачать его командой /get [путь_к_файлу]."
177
 
178
  def run_pipeline(chat_id, task_description):
179
  send_tg(chat_id, "🚀 **Запуск цикла разработки SaaS!**\n\nPhase 1: ТЗ кодеру...")
 
325
  except Exception as e: send_tg(chat_id, f"❌ Ошибка агента: {e}")
326
  return
327
 
328
+ elif command == "/get":
329
+ if not args:
330
+ send_tg(chat_id, "⚠️ Укажи путь к файлу. Пример:\n`/get ./projects/test.py`")
331
+ return
332
+ send_tg_file(chat_id, args)
333
+ return
334
+
335
  else:
336
  # ОБЫЧНЫЙ РЕЖИМ (если это не команда)
337
  full_prompt = text + file_context
 
341
  send_tg(chat_id, reply)
342
  except Exception as e: send_tg(chat_id, f"❌ Ошибка: {e}")
343
 
344
+
345
  if __name__ == "__main__":
346
  log(f"🚀 Starting Unified Server on port {PORT}")
347
  HTTPServer(('0.0.0.0', PORT), WebhookHandler).serve_forever()