FreshPixels commited on
Commit
64d26e7
·
verified ·
1 Parent(s): 25ea7fe

Update server.py

Browse files
Files changed (1) hide show
  1. server.py +13 -8
server.py CHANGED
@@ -1,8 +1,8 @@
1
- import os, json, urllib.request, subprocess, traceback, sys
2
  from http.server import BaseHTTPRequestHandler, HTTPServer
3
 
4
  PORT = 7860
5
- # .strip() уберет случайные пробелы, если они есть в секретах
6
  TOKEN = os.environ.get("TELEGRAM_BOT_TOKEN", "").strip()
7
  ALLOWED_USER = os.environ.get("TELEGRAM_ALLOWED_USERS", "").strip()
8
 
@@ -12,14 +12,13 @@ def log(msg):
12
  sys.stdout.flush()
13
 
14
  def send_tg(chat_id, text):
15
- """Прямая отправка в Telegram БЕЗ Cloudflare"""
16
  if not TOKEN:
17
  log("❌ Ошибка: Не задан TELEGRAM_BOT_TOKEN")
18
  return
19
 
20
  url = f"https://api.telegram.org/bot{TOKEN}/sendMessage"
21
  data = json.dumps({"chat_id": chat_id, "text": str(text)}).encode('utf-8')
22
- # Добавляем User-Agent, чтобы Телеграм не ругался на скрипт
23
  headers = {
24
  "Content-Type": "application/json",
25
  "User-Agent": "Mozilla/5.0"
@@ -27,7 +26,12 @@ def send_tg(chat_id, text):
27
  req = urllib.request.Request(url, data=data, headers=headers)
28
 
29
  try:
30
- urllib.request.urlopen(req)
 
 
 
 
 
31
  log(f"✈️ Сообщение успешно отправлено в чат {chat_id}")
32
  except Exception as e:
33
  log(f"❌ Ошибка отправки в Telegram: {e}")
@@ -55,16 +59,17 @@ class WebhookHandler(BaseHTTPRequestHandler):
55
  send_tg(chat_id, "🤖 Принято! Запускаю Гермеса...")
56
 
57
  try:
58
- log("🧠 Выполняю команду hermes...")
59
  my_env = os.environ.copy()
60
 
61
- # ПРАВИЛЬНЫЙ ПОРЯДОК АРГУМЕНТОВ
62
  cmd = [
63
  "hermes",
64
  "-m", "openai/z-ai/glm-5.1",
65
  "-z", text,
66
  "chat",
67
- "--cli"
 
68
  ]
69
 
70
  result = subprocess.run(cmd, capture_output=True, text=True, env=my_env)
 
1
+ import os, json, urllib.request, subprocess, traceback, sys, ssl
2
  from http.server import BaseHTTPRequestHandler, HTTPServer
3
 
4
  PORT = 7860
5
+ # .strip() уберет случайные пробелы в токенах
6
  TOKEN = os.environ.get("TELEGRAM_BOT_TOKEN", "").strip()
7
  ALLOWED_USER = os.environ.get("TELEGRAM_ALLOWED_USERS", "").strip()
8
 
 
12
  sys.stdout.flush()
13
 
14
  def send_tg(chat_id, text):
15
+ """Прямая отправка в Telegram в обход строгих проверок SSL"""
16
  if not TOKEN:
17
  log("❌ Ошибка: Не задан TELEGRAM_BOT_TOKEN")
18
  return
19
 
20
  url = f"https://api.telegram.org/bot{TOKEN}/sendMessage"
21
  data = json.dumps({"chat_id": chat_id, "text": str(text)}).encode('utf-8')
 
22
  headers = {
23
  "Content-Type": "application/json",
24
  "User-Agent": "Mozilla/5.0"
 
26
  req = urllib.request.Request(url, data=data, headers=headers)
27
 
28
  try:
29
+ # Отключаем строгую проверку сертификатов (фикс ошибки SSL)
30
+ ctx = ssl.create_default_context()
31
+ ctx.check_hostname = False
32
+ ctx.verify_mode = ssl.CERT_NONE
33
+
34
+ urllib.request.urlopen(req, context=ctx, timeout=10)
35
  log(f"✈️ Сообщение успешно отправлено в чат {chat_id}")
36
  except Exception as e:
37
  log(f"❌ Ошибка отправки в Telegram: {e}")
 
59
  send_tg(chat_id, "🤖 Принято! Запускаю Гермеса...")
60
 
61
  try:
62
+ log("🧠 Выполняю команду hermes (с дебагом)...")
63
  my_env = os.environ.copy()
64
 
65
+ # Добавлен флаг --debug для детальных логов ответа API
66
  cmd = [
67
  "hermes",
68
  "-m", "openai/z-ai/glm-5.1",
69
  "-z", text,
70
  "chat",
71
+ "--cli",
72
+ "--debug"
73
  ]
74
 
75
  result = subprocess.run(cmd, capture_output=True, text=True, env=my_env)