File size: 1,884 Bytes
ffb9933
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
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
)

# URL вашего Hugging Face Space
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:
        # Отправляем запрос к Hugging Face API
        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()