File size: 1,780 Bytes
b9cc0a0
ac55002
b9cc0a0
 
197202f
b9cc0a0
ac55002
b9cc0a0
 
 
ac55002
 
 
 
 
 
b9cc0a0
 
48f7491
b9cc0a0
ac55002
b9cc0a0
 
 
 
 
197202f
b9cc0a0
 
 
 
 
 
ac55002
b9cc0a0
197202f
b9cc0a0
 
 
 
ac55002
b9cc0a0
197202f
b9cc0a0
 
ac55002
b9cc0a0
 
197202f
b9cc0a0
197202f
 
b9cc0a0
197202f
b9cc0a0
ac55002
b9cc0a0
 
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
47
48
49
50
51
52
53
54
55
56
57
58
59
import logging
import os
import requests
from telegram import Update
from telegram.ext import Application, CommandHandler, MessageHandler, filters


# Set up logging
logging.basicConfig(level=logging.INFO)


# Get the Telegram Bot Token from environment variables
TOKEN = os.getenv("TELEGRAM_BOT_TOKEN")
if not TOKEN:
    raise ValueError("Missing Telegram Bot Token. Please set TELEGRAM_BOT_TOKEN in environment variables.")
    

# Flask API URL
API_URL = "https://demaking-decision-helper-bot.hf.space/ask"


# Function to send user input to Flask API and return the response
def get_response_from_api(user_text):
    try:
        response = requests.post(API_URL, json={"text": user_text})
        if response.status_code == 200:
            return response.json().get("response", "Error: No response received")  # Gets the response or error if response not provided)
        else:
            return "Error: API request failed"
    except Exception as e:
        logging.error(f"Error connecting to API: {e}")
        return "Error: Could not connect to the server"


# Function to handle incoming messages from users
def handle_message(update: Update):
    user_text = update.message.text
    response = get_response_from_api(user_text)
    update.message.reply_text(response)


# Function to handle /start command
def start(update: Update):
    update.message.reply_text("Hello! Tell me your Decision-Making issue in HE or EN, and I'll try to help you.")


# Initialize Telegram bot
def run_telegram_bot():
    app = Application.builder().token(TOKEN).build()

    app.add_handler(CommandHandler("start", start))
    app.add_handler(MessageHandler(filters.TEXT & ~filters.COMMAND, handle_message))

    app.run_polling()


if __name__ == "__main__":
    run_telegram_bot()