|
import os |
|
import logging |
|
import requests |
|
from telegram import Update |
|
from telegram.ext import Application, MessageHandler, filters, ContextTypes |
|
|
|
|
|
logging.basicConfig( |
|
format="%(asctime)s - %(name)s - %(levelname)s - %(message)s", |
|
level=logging.INFO |
|
) |
|
|
|
|
|
API_URL = "https://ваш_username-ваш_spacename.hf.space/chat" |
|
|
|
async def handle_message(update: Update, context: ContextTypes.DEFAULT_TYPE): |
|
"""Обработка входящих сообщений""" |
|
user_message = update.message.text |
|
|
|
|
|
if not user_message.strip(): |
|
await update.message.reply_text("Вы отправили пустое сообщение 😅") |
|
return |
|
|
|
try: |
|
|
|
response = requests.post(API_URL, json={"message": user_message}) |
|
if response.status_code == 200: |
|
bot_response = response.json().get("response", "Я не знаю, что ответить 😅") |
|
else: |
|
bot_response = "Упс, я сломался... Попробуй еще раз 😅" |
|
|
|
await update.message.reply_text(bot_response) |
|
except Exception as e: |
|
await update.message.reply_text("Упс, я сломался... Попробуй еще раз 😅") |
|
logging.error(f"Ошибка: {e}") |
|
|
|
if __name__ == "__main__": |
|
|
|
application = Application.builder().token(os.environ['TELEGRAM_TOKEN']).build() |
|
|
|
|
|
application.add_handler(MessageHandler(filters.TEXT & ~filters.COMMAND, handle_message)) |
|
|
|
|
|
application.run_polling() |