kanhiayamishra commited on
Commit
477c7de
·
verified ·
1 Parent(s): 3822aff

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +36 -15
app.py CHANGED
@@ -1,35 +1,56 @@
1
  import os
2
  import gradio as gr
3
  from telegram import Update
4
- from telegram.ext import ApplicationBuilder, CommandHandler
 
5
  import threading
6
 
7
- # Secrets से डटा लेन (Settings में जाकर ये Secrets भर देना)
8
  TELEGRAM_TOKEN = os.environ.get("TELEGRAM_TOKEN")
 
 
9
 
10
- # टेलीग्राम बॉट काक्शन
11
- async def start(update: Update, context):
12
- await update.message.reply_text("नमस्ते! आपका Molt Bot अब Gradio SDK के जरिए लाइव है।")
 
 
13
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
14
  def run_bot():
15
  if not TELEGRAM_TOKEN:
16
- print("टोकन नहीं मिला!")
17
  return
18
  app = ApplicationBuilder().token(TELEGRAM_TOKEN).build()
19
  app.add_handler(CommandHandler("start", start))
20
- print("बॉट पोलिंग शुरू कर रहा है...")
21
- app.run_polling()
22
 
23
- # Gradio इंटरफ़ेस (ताकि Hugging Face एरर )
24
- def greet(name):
25
- return "बॉट बैकग्राउंड में चल रहा है!"
26
 
27
- iface = gr.Interface(fn=greet, inputs="text", outputs="text", title="Molt Bot Status")
28
 
29
  if __name__ == "__main__":
30
- # बॉट को अलग धागे (Thread) में चलाना
31
  threading.Thread(target=run_bot, daemon=True).start()
32
-
33
- # Gradio सर्वर शुरू करना (Hugging Face के लिए ज़रूरी)
34
  iface.launch(server_name="0.0.0.0", server_port=7860)
35
 
 
1
  import os
2
  import gradio as gr
3
  from telegram import Update
4
+ from telegram.ext import ApplicationBuilder, CommandHandler, ContextTypes
5
+ from supabase import create_client, Client
6
  import threading
7
 
8
+ # 1. Secrets से डटा उठाना
9
  TELEGRAM_TOKEN = os.environ.get("TELEGRAM_TOKEN")
10
+ SUPABASE_URL = os.environ.get("SUPABASE_URL")
11
+ SUPABASE_KEY = os.environ.get("SUPABASE_KEY")
12
 
13
+ # 2. Supabase्लट सेटअप
14
+ # अगर URL या KEY नहीं मिलेगी तो यह हिस्सा स्किप हो जाएगा
15
+ supabase: Client = None
16
+ if SUPABASE_URL and SUPABASE_KEY:
17
+ supabase = create_client(SUPABASE_URL, SUPABASE_KEY)
18
 
19
+ # 3. बॉट का /start कमांड
20
+ async def start(update: Update, context: ContextTypes.DEFAULT_TYPE):
21
+ user = update.effective_user
22
+ welcome_text = f"नमस्ते {user.first_name}! Molt Bot अब डेटाबेस के साथ ऑनलाइन है।"
23
+
24
+ # डेटाबेस में एंट्री करना
25
+ if supabase:
26
+ try:
27
+ # मान लीजिये आपकी टेबल का नाम 'users' है
28
+ data = {"id": user.id, "name": user.first_name, "username": user.username}
29
+ supabase.table("users").upsert(data).execute()
30
+ welcome_text += "\n\n✅ आपका डेटा Supabase में सुरक्षित कर दिया गया है।"
31
+ except Exception as e:
32
+ welcome_text += f"\n\n⚠️ डेटाबेस एरर: {str(e)}"
33
+
34
+ await update.message.reply_text(welcome_text)
35
+
36
+ # 4. बॉट चलाने का फंक्शन (Thread के लिए)
37
  def run_bot():
38
  if not TELEGRAM_TOKEN:
39
+ print("Telegram Token missing!")
40
  return
41
  app = ApplicationBuilder().token(TELEGRAM_TOKEN).build()
42
  app.add_handler(CommandHandler("start", start))
43
+ app.run_polling(drop_pending_updates=True)
 
44
 
45
+ # 5. Gradio Interface (Hugging Face के लिए दिखावा)
46
+ def monitor(status):
47
+ return "बॉट सही चल रहा है और डेटाबेस से कनेक्टेड है!"
48
 
49
+ iface = gr.Interface(fn=monitor, inputs="text", outputs="text", title="Molt Bot Control Panel")
50
 
51
  if __name__ == "__main__":
52
+ # बॉट को पीछे (Background) में चलाएं
53
  threading.Thread(target=run_bot, daemon=True).start()
54
+ # Gradio को सामने (Foreground) चलाएं
 
55
  iface.launch(server_name="0.0.0.0", server_port=7860)
56