iq7se2 commited on
Commit
5ed3cee
·
verified ·
1 Parent(s): 628881c

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +28 -26
app.py CHANGED
@@ -1,39 +1,41 @@
1
  import os
2
  import asyncio
3
- import requests
4
- import img2pdf
5
- import io
6
- from PIL import Image
7
  from telegram import Update
8
  from telegram.ext import Application, MessageHandler, filters, ContextTypes
9
- import gradio as gr # لإبقاء السيرفر حياً
10
 
11
- # ضع التوكن هنا (تأكد أنه صحيح من BotFather)
12
  TOKEN = "7449216492:AAEsECh8e3h174a6eDKrMReG1__uxo8XU9c"
13
 
14
- async def download_manga(url):
15
- # كود سحب الصور (الذي يعمل بـ requests حالياً لتجنب مشاكل المتصفح)
16
- # ملاحظة: سنستخدم requests مبدئياً للتأكد من الاتصال
17
- return None
18
 
19
- async def handle_message(update, context):
20
- await update.message.reply_text("✅ البوت متصل وشغال!")
21
-
22
- # دالة وهمية لتشغيل واجهة Gradio (مهمة لـ Hugging Face)
23
- def greet(name):
24
- return "Bot is Running..."
25
-
26
- def main():
27
- # تشغيل البوت في الخلفية
28
  app = Application.builder().token(TOKEN).build()
29
  app.add_handler(MessageHandler(filters.TEXT & ~filters.COMMAND, handle_message))
30
 
31
- # تشغيل واجهة Gradio في الأمام
32
- demo = gr.Interface(fn=greet, inputs="text", outputs="text")
33
-
34
- import threading
35
- threading.Thread(target=app.run_polling, daemon=True).start()
36
- demo.launch()
 
 
 
37
 
38
  if __name__ == "__main__":
39
- main()
 
 
 
 
 
 
 
1
  import os
2
  import asyncio
3
+ import threading
4
+ import gradio as gr
 
 
5
  from telegram import Update
6
  from telegram.ext import Application, MessageHandler, filters, ContextTypes
 
7
 
8
+ # ضع التوكن الخاص بك هنا
9
  TOKEN = "7449216492:AAEsECh8e3h174a6eDKrMReG1__uxo8XU9c"
10
 
11
+ # دالة التعامل مع الرسائل
12
+ async def handle_message(update: Update, context: ContextTypes.DEFAULT_TYPE):
13
+ await update.message.reply_text("🚀 أهلاً بك! البوت شغال الآن على Hugging Face 24/7.")
 
14
 
15
+ # دالة تشغيل البوت (الطريقة المتوافقة مع السيرفرات)
16
+ def run_bot():
17
+ # إنشاء حلقة أحداث (Loop) جديدة لهذا الـ Thread
18
+ loop = asyncio.new_event_loop()
19
+ asyncio.set_event_loop(loop)
20
+
 
 
 
21
  app = Application.builder().token(TOKEN).build()
22
  app.add_handler(MessageHandler(filters.TEXT & ~filters.COMMAND, handle_message))
23
 
24
+ print("🤖 جاري بدء تشغيل البوت...")
25
+ # تشغيل بدون Signal Handlers لمنع الخطأ
26
+ app.run_polling(stop_signals=None)
27
+
28
+ # واجهة Gradio (مهمة لبقاء السيرفر حياً)
29
+ def web_ui():
30
+ with gr.Blocks() as demo:
31
+ gr.Markdown("# 🤖 Manga Bot Server\nالبوت يعمل الآن في الخلفية...")
32
+ return demo
33
 
34
  if __name__ == "__main__":
35
+ # 1. تشغيل البوت في Thread منفصل
36
+ bot_thread = threading.Thread(target=run_bot, daemon=True)
37
+ bot_thread.start()
38
+
39
+ # 2. تشغيل واجهة الويب (Gradio)
40
+ demo = web_ui()
41
+ demo.launch(server_name="0.0.0.0", server_port=7860)