Spaces:
Sleeping
Sleeping
Update app.py
Browse files
app.py
CHANGED
|
@@ -102,35 +102,36 @@ bot = telegram.Bot(token='7766407698:AAGZHEbUuiOri4_YzZ7hDPSD6U8MGMXXSnA')
|
|
| 102 |
|
| 103 |
# Асинхронная установка webhook
|
| 104 |
async def set_webhook():
|
| 105 |
-
url
|
| 106 |
-
await bot.set_webhook(url=url)
|
| 107 |
-
print(f"Webhook установлен на {url}")
|
| 108 |
|
| 109 |
-
@app.before_first_request
|
| 110 |
def setup_webhook():
|
| 111 |
"""Этот метод будет вызываться до первого запроса, чтобы установить webhook."""
|
| 112 |
loop = asyncio.new_event_loop()
|
| 113 |
asyncio.set_event_loop(loop)
|
| 114 |
loop.run_until_complete(set_webhook())
|
| 115 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 116 |
@app.route('/webhook', methods=['POST'])
|
| 117 |
def webhook():
|
| 118 |
-
|
| 119 |
update = telegram.Update.de_json(request.get_json(force=True), bot)
|
| 120 |
-
|
| 121 |
-
# Извлекаем chat_id и текст сообщения
|
| 122 |
chat_id = update.message.chat.id
|
| 123 |
text = update.message.text
|
| 124 |
|
| 125 |
-
# Обрабатываем команду /start
|
| 126 |
if text == '/start':
|
| 127 |
bot.send_message(chat_id=chat_id, text="Привет! Я твой новый телеграм-бот.")
|
| 128 |
-
|
| 129 |
return 'ok'
|
| 130 |
|
| 131 |
|
| 132 |
|
| 133 |
|
|
|
|
| 134 |
# Функция сохранения в базу пользователей TG
|
| 135 |
def save_user(chat_id, db_name="your_database.db"):
|
| 136 |
conn = sqlite3.connect(db_name)
|
|
|
|
| 102 |
|
| 103 |
# Асинхронная установка webhook
|
| 104 |
async def set_webhook():
|
| 105 |
+
await bot.set_webhook(url='https://dmitrmakeev-flask-inference-api-g.hf.space/webhook')
|
|
|
|
|
|
|
| 106 |
|
|
|
|
| 107 |
def setup_webhook():
|
| 108 |
"""Этот метод будет вызываться до первого запроса, чтобы установить webhook."""
|
| 109 |
loop = asyncio.new_event_loop()
|
| 110 |
asyncio.set_event_loop(loop)
|
| 111 |
loop.run_until_complete(set_webhook())
|
| 112 |
|
| 113 |
+
@app.before_first_request
|
| 114 |
+
def before_first_request():
|
| 115 |
+
"""Этот метод будет вызван перед первым запросом, чтобы установить webhook в отдельном потоке."""
|
| 116 |
+
thread = threading.Thread(target=setup_webhook)
|
| 117 |
+
thread.start()
|
| 118 |
+
|
| 119 |
@app.route('/webhook', methods=['POST'])
|
| 120 |
def webhook():
|
| 121 |
+
"""Обработка webhook от Telegram."""
|
| 122 |
update = telegram.Update.de_json(request.get_json(force=True), bot)
|
|
|
|
|
|
|
| 123 |
chat_id = update.message.chat.id
|
| 124 |
text = update.message.text
|
| 125 |
|
|
|
|
| 126 |
if text == '/start':
|
| 127 |
bot.send_message(chat_id=chat_id, text="Привет! Я твой новый телеграм-бот.")
|
| 128 |
+
|
| 129 |
return 'ok'
|
| 130 |
|
| 131 |
|
| 132 |
|
| 133 |
|
| 134 |
+
|
| 135 |
# Функция сохранения в базу пользователей TG
|
| 136 |
def save_user(chat_id, db_name="your_database.db"):
|
| 137 |
conn = sqlite3.connect(db_name)
|