pmrony commited on
Commit
7609425
·
verified ·
1 Parent(s): ce6c60a

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +24 -55
app.py CHANGED
@@ -3,26 +3,17 @@ from telebot.types import InlineKeyboardMarkup, InlineKeyboardButton, WebAppInfo
3
  import os
4
  from flask import Flask, jsonify, make_response, request as flask_request
5
  from supabase import create_client
6
- import re
7
- import requests
8
 
9
  BOT_TOKEN = os.environ.get('BOT_TOKEN')
10
  SUPABASE_URL = "https://yctirvnryrzygoxbpvoy.supabase.co"
11
  SUPABASE_KEY = "sb_publishable_aBcD-atruskWwoCiLr0lWw_inT8GLoN"
12
  WEB_APP_URL = "https://rony90790.github.io/Forward-bot/index.html"
13
-
14
  HF_SPACE_URL = "https://pmrony-forwardbot.hf.space"
15
 
16
- CHANNEL_USERNAME = "xmlcpg"
17
- START_MESSAGE_ID = 3
18
- TOTAL_VIDEOS = 10
19
-
20
  bot = telebot.TeleBot(BOT_TOKEN)
21
  supabase = create_client(SUPABASE_URL, SUPABASE_KEY)
22
  app = Flask(__name__)
23
 
24
- thumbnail_cache = {}
25
-
26
  @app.route(f'/{BOT_TOKEN}', methods=['POST'])
27
  def webhook():
28
  if 'application/json' in flask_request.headers.get('content-type', ''):
@@ -46,56 +37,34 @@ def index():
46
  return "Bot is Running smoothly!"
47
 
48
  # ==========================================
49
- # VIDEO THUMBNAIL LOGIC (PROXY)
50
  # ==========================================
51
-
52
- def get_telegram_thumbnail(channel, msg_id):
53
- cache_key = f"{channel}_{msg_id}"
54
-
55
- # ক্যাশে থাকলে দ্রুত রিটার্ন করবে
56
- if cache_key in thumbnail_cache:
57
- return thumbnail_cache[cache_key]
58
-
59
- try:
60
- telegram_url = f"https://t.me/{channel}/{msg_id}?embed=1"
61
- # Hugging Face ব্লক থাকায় AllOrigins Proxy API ব্যবহার করা হলো
62
- proxy_url = f"https://api.allorigins.win/get?url={telegram_url}"
63
-
64
- print(f"[LOG] Proxy এর মাধ্যমে রিকোয়েস্ট পাঠানো হচ্ছে: msg {msg_id}")
65
- response = requests.get(proxy_url, timeout=10)
66
-
67
- if response.status_code == 200:
68
- data = response.json()
69
- html = data.get('contents', '')
70
-
71
- match = re.search(r'<meta property="og:image" content="([^"]+)">', html)
72
- if match:
73
- img_url = match.group(1)
74
- if "telegram_logo" not in img_url:
75
- print(f"[SUCCESS] ছবি পাওয়া গেছে: {img_url}")
76
- thumbnail_cache[cache_key] = img_url
77
- return img_url
78
- else:
79
- print(f"[WARNING] msg {msg_id} তে আসল ছবি নেই।")
80
- except Exception as e:
81
- print(f"[ERROR] Proxy কাজ করছে না msg {msg_id} এর জন্য: {e}")
82
-
83
- # কোনো কারণে ছবি না পেলে ডামি ছবি
84
- fallback = f"https://placehold.co/300x200/222222/FF9900/png?text=Video+{msg_id}"
85
- thumbnail_cache[cache_key] = fallback
86
- return fallback
87
 
88
  @app.route('/api/videos')
89
  def api_videos():
90
- videos_data = []
91
- # একসাথে ১০টি ভিডিওর ডাটা তৈরি
92
- for msg_id in range(START_MESSAGE_ID, START_MESSAGE_ID + TOTAL_VIDEOS):
93
- thumb = get_telegram_thumbnail(CHANNEL_USERNAME, msg_id)
94
- videos_data.append({
95
- "video_url": f"https://t.me/{CHANNEL_USERNAME}/{msg_id}",
96
- "thumbnail_url": thumb
97
- })
98
- response = make_response(jsonify(videos_data))
99
  response.headers['Access-Control-Allow-Origin'] = '*'
100
  return response
101
 
 
3
  import os
4
  from flask import Flask, jsonify, make_response, request as flask_request
5
  from supabase import create_client
 
 
6
 
7
  BOT_TOKEN = os.environ.get('BOT_TOKEN')
8
  SUPABASE_URL = "https://yctirvnryrzygoxbpvoy.supabase.co"
9
  SUPABASE_KEY = "sb_publishable_aBcD-atruskWwoCiLr0lWw_inT8GLoN"
10
  WEB_APP_URL = "https://rony90790.github.io/Forward-bot/index.html"
 
11
  HF_SPACE_URL = "https://pmrony-forwardbot.hf.space"
12
 
 
 
 
 
13
  bot = telebot.TeleBot(BOT_TOKEN)
14
  supabase = create_client(SUPABASE_URL, SUPABASE_KEY)
15
  app = Flask(__name__)
16
 
 
 
17
  @app.route(f'/{BOT_TOKEN}', methods=['POST'])
18
  def webhook():
19
  if 'application/json' in flask_request.headers.get('content-type', ''):
 
37
  return "Bot is Running smoothly!"
38
 
39
  # ==========================================
40
+ # MANUAL VIDEO LIST (SUPER FAST)
41
  # ==========================================
42
+ # এখানে আপনি আপনার ইচ্ছামতো ভিডিও লিংক এবং ছবির লিংক বসাতে পারবেন।
43
+ # আপনি চাইলে postimages.org এ ছবি আপলোড করে সেই লিংক thumbnail_url এ দিতে পারেন।
44
+
45
+ MY_VIDEOS = [
46
+ {
47
+ "video_url": "https://drive.google.com/file/d/1d_BRKZadepX27LPg0n12DoAj1cm2tLDO/view",
48
+ "thumbnail_url": "https://placehold.co/300x200/222222/FF9900/png?text=Video+1"
49
+ },
50
+ {
51
+ "video_url": "https://drive.google.com/file/d/1d_BRKZadepX27LPg0n12DoAj1cm2tLDO/view", # আপাতত টেস্ট করার জন্য একই লিংক দিলাম
52
+ "thumbnail_url": "https://placehold.co/300x200/222222/FF9900/png?text=Video+2"
53
+ },
54
+ {
55
+ "video_url": "https://drive.google.com/file/d/1d_BRKZadepX27LPg0n12DoAj1cm2tLDO/view",
56
+ "thumbnail_url": "https://placehold.co/300x200/222222/FF9900/png?text=Video+3"
57
+ },
58
+ {
59
+ "video_url": "https://drive.google.com/file/d/1d_BRKZadepX27LPg0n12DoAj1cm2tLDO/view",
60
+ "thumbnail_url": "https://placehold.co/300x200/222222/FF9900/png?text=Video+4"
61
+ }
62
+ # আপনি কমা (,) দিয়ে নিচে নিচে আরও ভিডিও বাড়াতে পারবেন...
63
+ ]
 
 
 
 
 
 
 
 
 
 
 
 
 
 
64
 
65
  @app.route('/api/videos')
66
  def api_videos():
67
+ response = make_response(jsonify(MY_VIDEOS))
 
 
 
 
 
 
 
 
68
  response.headers['Access-Control-Allow-Origin'] = '*'
69
  return response
70