Spaces:
Sleeping
Sleeping
Update app.py
Browse files
app.py
CHANGED
|
@@ -108,101 +108,6 @@ logging.basicConfig(level=logging.DEBUG)
|
|
| 108 |
|
| 109 |
|
| 110 |
|
| 111 |
-
# Новый URL для отправки данных (Telegram API)
|
| 112 |
-
TELEGRAM_API_URL = "api.telegram.org"
|
| 113 |
-
TELEGRAM_BOT_TOKEN = "7766407698:AAGZHEbUuiOri4_YzZ7hDPSD6U8MGMXXSnA"
|
| 114 |
-
CHAT_ID = 1343658673 # ID чата
|
| 115 |
-
TEXT = "test11" # Текст сообщения
|
| 116 |
-
|
| 117 |
-
def send_message(chat_id, text):
|
| 118 |
-
"""Отправка тестового сообщения на Telegram API."""
|
| 119 |
-
conn = http.client.HTTPSConnection(TELEGRAM_API_URL)
|
| 120 |
-
|
| 121 |
-
# Подготовка данных для URL
|
| 122 |
-
params = {
|
| 123 |
-
"chat_id": chat_id,
|
| 124 |
-
"text": text
|
| 125 |
-
}
|
| 126 |
-
|
| 127 |
-
# Кодируем параметры для URL
|
| 128 |
-
url_params = urlencode(params)
|
| 129 |
-
|
| 130 |
-
# Формируем путь для запроса
|
| 131 |
-
url_path = f"/bot{TELEGRAM_BOT_TOKEN}/sendMessage?{url_params}"
|
| 132 |
-
|
| 133 |
-
try:
|
| 134 |
-
# Отправка запроса
|
| 135 |
-
conn.request("GET", url_path)
|
| 136 |
-
|
| 137 |
-
# Получение ответа
|
| 138 |
-
response = conn.getresponse()
|
| 139 |
-
data = response.read()
|
| 140 |
-
|
| 141 |
-
# Логируем текстовый ответ для отладки
|
| 142 |
-
logging.debug(f"Ответ от Telegram API: {data.decode('utf-8')}")
|
| 143 |
-
except Exception as e:
|
| 144 |
-
logging.error(f"Ошибка при отправке сообщения: {e}")
|
| 145 |
-
finally:
|
| 146 |
-
conn.close()
|
| 147 |
-
|
| 148 |
-
|
| 149 |
-
|
| 150 |
-
|
| 151 |
-
|
| 152 |
-
@app.route("/webhook", methods=["POST"])
|
| 153 |
-
def process():
|
| 154 |
-
"""Обрабатывает входящие сообщения от Telegram по новому маршруту."""
|
| 155 |
-
try:
|
| 156 |
-
data = request.get_json()
|
| 157 |
-
logging.debug(f"Получены данные: {data}") # Лог входящих данных
|
| 158 |
-
|
| 159 |
-
if "message" not in data:
|
| 160 |
-
return {"ok": False, "error": "Нет данных message"}, 400
|
| 161 |
-
|
| 162 |
-
chat_id = data["message"]["chat"]["id"]
|
| 163 |
-
text = data["message"].get("text", "")
|
| 164 |
-
|
| 165 |
-
# Ответ на команду или пустой текст
|
| 166 |
-
if text == "/start":
|
| 167 |
-
send_message(chat_id, "Привет! Я твой бот. Чем могу помочь?")
|
| 168 |
-
elif text:
|
| 169 |
-
send_message(chat_id, f"Вы отправили: {text}")
|
| 170 |
-
else:
|
| 171 |
-
send_message(chat_id, "Ты прислал пустое сообщение. Пожалуйста, напиши что-нибудь!")
|
| 172 |
-
|
| 173 |
-
except Exception as e:
|
| 174 |
-
logging.error(f"Ошибка: {e}")
|
| 175 |
-
|
| 176 |
-
return {"ok": True}
|
| 177 |
-
|
| 178 |
-
@app.route("/set-webhook")
|
| 179 |
-
def set_webhook_page():
|
| 180 |
-
return render_template("set_webhook.html") # Загружает HTML-страницу
|
| 181 |
-
|
| 182 |
-
|
| 183 |
-
|
| 184 |
-
|
| 185 |
-
|
| 186 |
-
|
| 187 |
-
|
| 188 |
-
|
| 189 |
-
|
| 190 |
-
|
| 191 |
-
# Функция сохранения в базу пользователей TG
|
| 192 |
-
def save_user(chat_id, db_name="your_database.db"):
|
| 193 |
-
conn = sqlite3.connect(db_name)
|
| 194 |
-
cursor = conn.cursor()
|
| 195 |
-
|
| 196 |
-
created_at = datetime.now().isoformat() # Форматируем дату
|
| 197 |
-
|
| 198 |
-
try:
|
| 199 |
-
cursor.execute("INSERT INTO bot_users (chat_id, created_at) VALUES (?, ?)", (chat_id, created_at))
|
| 200 |
-
conn.commit()
|
| 201 |
-
except sqlite3.IntegrityError:
|
| 202 |
-
print(f"Пользователь {chat_id} уже есть в базе.")
|
| 203 |
-
|
| 204 |
-
conn.close()
|
| 205 |
-
|
| 206 |
|
| 207 |
|
| 208 |
# Функция сохранения в базу данных системы автоматизации гидропоники
|
|
|
|
| 108 |
|
| 109 |
|
| 110 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 111 |
|
| 112 |
|
| 113 |
# Функция сохранения в базу данных системы автоматизации гидропоники
|