Update app.py
Browse files
app.py
CHANGED
|
@@ -15,8 +15,8 @@ app = FastAPI()
|
|
| 15 |
# -------------------------------------------------------------------
|
| 16 |
# Configuration & Global Variables
|
| 17 |
# -------------------------------------------------------------------
|
| 18 |
-
TELEGRAM_BOT_TOKEN = os.getenv("TELEGRAM_BOT_TOKEN")
|
| 19 |
-
TELEGRAM_API_URL = f"https://api.telegram.org/bot{TELEGRAM_BOT_TOKEN}"
|
| 20 |
|
| 21 |
# Conversation state
|
| 22 |
user_inputs = {}
|
|
@@ -119,7 +119,8 @@ def help_text():
|
|
| 119 |
"*Stream Bot Help*\n\n"
|
| 120 |
"*/start* - Begin setup for streaming (simple mode: only Input & Output URL)\n"
|
| 121 |
"*/setting* - Enter advanced settings (Input URL, Quality Settings, Video Codec, Audio Codec, Output URL)\n"
|
| 122 |
-
"*/help* - Display this help text\n
|
|
|
|
| 123 |
"After inputs are collected, press the inline *Start Streaming* button.\n\n"
|
| 124 |
"While streaming, you can use inline buttons or commands:\n"
|
| 125 |
"*/pause* - Pause the stream\n"
|
|
@@ -191,6 +192,19 @@ def live_log_updater(chat_id):
|
|
| 191 |
except Exception as e:
|
| 192 |
logging.error(f"Error in live log updater: {e}")
|
| 193 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 194 |
# -------------------------------------------------------------------
|
| 195 |
# Conversation Handlers
|
| 196 |
# -------------------------------------------------------------------
|
|
@@ -488,6 +502,8 @@ async def telegram_webhook(request: Request):
|
|
| 488 |
return handle_start(chat_id)
|
| 489 |
elif text.startswith("/help"):
|
| 490 |
return handle_help(chat_id)
|
|
|
|
|
|
|
| 491 |
elif text.startswith("/pause"):
|
| 492 |
return pause_stream(chat_id)
|
| 493 |
elif text.startswith("/resume"):
|
|
|
|
| 15 |
# -------------------------------------------------------------------
|
| 16 |
# Configuration & Global Variables
|
| 17 |
# -------------------------------------------------------------------
|
| 18 |
+
# TELEGRAM_BOT_TOKEN = os.getenv("TELEGRAM_BOT_TOKEN")
|
| 19 |
+
# TELEGRAM_API_URL = f"https://api.telegram.org/bot{TELEGRAM_BOT_TOKEN}"
|
| 20 |
|
| 21 |
# Conversation state
|
| 22 |
user_inputs = {}
|
|
|
|
| 119 |
"*Stream Bot Help*\n\n"
|
| 120 |
"*/start* - Begin setup for streaming (simple mode: only Input & Output URL)\n"
|
| 121 |
"*/setting* - Enter advanced settings (Input URL, Quality Settings, Video Codec, Audio Codec, Output URL)\n"
|
| 122 |
+
"*/help* - Display this help text\n"
|
| 123 |
+
"*/logs* - Show the log history\n\n"
|
| 124 |
"After inputs are collected, press the inline *Start Streaming* button.\n\n"
|
| 125 |
"While streaming, you can use inline buttons or commands:\n"
|
| 126 |
"*/pause* - Pause the stream\n"
|
|
|
|
| 192 |
except Exception as e:
|
| 193 |
logging.error(f"Error in live log updater: {e}")
|
| 194 |
|
| 195 |
+
# -------------------------------------------------------------------
|
| 196 |
+
# Logs History Handler (/logs)
|
| 197 |
+
# -------------------------------------------------------------------
|
| 198 |
+
def logs_history(chat_id):
|
| 199 |
+
# Show the last 50 log lines in HTML format
|
| 200 |
+
log_text = "<pre>" + "\n".join(live_log_lines[-50:]) + "</pre>"
|
| 201 |
+
return {
|
| 202 |
+
"method": "sendMessage",
|
| 203 |
+
"chat_id": chat_id,
|
| 204 |
+
"text": log_text,
|
| 205 |
+
"parse_mode": "HTML"
|
| 206 |
+
}
|
| 207 |
+
|
| 208 |
# -------------------------------------------------------------------
|
| 209 |
# Conversation Handlers
|
| 210 |
# -------------------------------------------------------------------
|
|
|
|
| 502 |
return handle_start(chat_id)
|
| 503 |
elif text.startswith("/help"):
|
| 504 |
return handle_help(chat_id)
|
| 505 |
+
elif text.startswith("/logs"):
|
| 506 |
+
return logs_history(chat_id)
|
| 507 |
elif text.startswith("/pause"):
|
| 508 |
return pause_stream(chat_id)
|
| 509 |
elif text.startswith("/resume"):
|