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 |
# Функция сохранения в базу данных системы автоматизации гидропоники
|