=====================================================================
  টেলিগ্রাম মিনি অ্যাপ — ভিডিও বট (PHP + MySQL)  |  ইনস্টল ও হোস্টিং গাইড
=====================================================================

এই প্রজেক্টে যা আছে
--------------------
* বট: /start দিলে সুন্দর স্বাগত মেসেজ + "ভিডিও দেখুন" ওয়েব-অ্যাপ বাটন (মিনি অ্যাপের URL বাটনের ভেতরে লুকানো)
* মিনি অ্যাপ: উপরে টাইটেল ট্যাব, ভিডিও কার্ড, সার্চ, ৩-ডট মেনু (হোম, সব টাইটেল, নোটিশ, রেফার, প্রোফাইল, আপনার দেওয়া লিংক)
* ভিডিও আনলক: Monetag বিজ্ঞাপন একটার পর একটা (এক ক্লিক = এক বিজ্ঞাপন) → প্রয়োজনীয় সংখ্যা শেষ হলে "ভিডিওটি দেখুন" বাটন
* ভিডিওর আসল টেলিগ্রাম ফাইল-শেয়ারিং লিংক পেজ/লিস্টে কখনো থাকে না; শুধু আনলকের পর সার্ভার দেয়
* রেফার: টেলিগ্রাম ডিপ-লিংক। প্রতি রেফারে ১টি ফ্রি ভিডিও (বিজ্ঞাপন ছাড়া); N জন রেফারে M দিনের প্রিমিয়াম (অ্যাডমিন ঠিক করে)
* প্রতিটি ভিডিও ও প্রতিটি টাইটেলের নিজস্ব শেয়ার লিংক — খুললে সরাসরি ওই কনটেন্টে যায়, নতুন ইউজার রেফারে গণ্য হয়
* ইউজার অ্যাকাউন্ট টেলিগ্রামের সাইন-করা initData (HMAC) থেকে অটো তৈরি — পাসওয়ার্ড লাগে না, নকল করা যায় না
* প্রোফাইল: রেফার সংখ্যা, ভিডিও খোলা, বিজ্ঞাপন দেখা + রেফার করা প্রতিজনের বিজ্ঞাপন/ভিডিও সংখ্যা
* স্ক্রিনশট প্রতিরোধ: ওয়াটারমার্ক (ইউজার ID), ঝাপসা, কপি/রাইট-ক্লিক বন্ধ, বটের মেসেজে protect_content

আবশ্যক
-------
PHP 7.4+ (৮.x ভালো), MySQL/MariaDB, PHP cURL, HTTPS (টেলিগ্রামের নিয়ম — cPanel এ AutoSSL/Let's Encrypt বা Cloudflare)

---------------------------------------------------------------------
ধাপ ১) বট বানান (BotFather)
---------------------------------------------------------------------
1. টেলিগ্রামে @BotFather → /newbot → নাম ও ইউজারনেম দিন → পাওয়া TOKEN কপি করে রাখুন।
2. (ঐচ্ছিক কিন্তু ভালো) শেয়ার লিংক সুন্দর করতে: BotFather → /newapp → বট বাছুন → নাম, বর্ণনা, ছবি দিন → URL দিতে বললে
   ধাপ ২ এর আপনার অ্যাপ URL দিন → "Short name" দিন (যেমন: watch)। এই short name পরে অ্যাডমিনে বসাবেন।
   তখন লিংক হবে:  https://t.me/আপনার_বট/watch?startapp=...
   short name না দিলে মেইন-মিনি-অ্যাপ লিংক ব্যবহার হবে: https://t.me/আপনার_বট?startapp=...
   (তার জন্য BotFather → /mybots → বট → Bot Settings → Configure Mini App → Enable → URL দিন)

---------------------------------------------------------------------
ধাপ ২) হোস্টিং — মেইন ডোমেইন আড়ালে রাখার সঠিক নিয়ম
---------------------------------------------------------------------
* মেইন ডোমেইন কখনো ব্যবহার করবেন না। নতুন ডোমেইন বা সাবডোমেইন নিন (যেমন app-xyz.yourdomain.com)।
* cPanel > Domains/Subdomains > সাবডোমেইন বানান → তার ফোল্ডারে (যেমন public_html/app) এই zip এর সব ফাইল Extract করুন।
* SSL চালু করুন (cPanel > SSL/TLS Status > Run AutoSSL)। URL অবশ্যই https:// হতে হবে।
* প্রস্তাবিত: Cloudflare এ ডোমেইন রেখে প্রক্সি (কমলা মেঘ) চালু রাখুন — সার্ভারের আসল IP লুকায়।
* ইউজাররা শুধু টেলিগ্রামের ভেতরের বাটনে ক্লিক করে, URL দেখে না। তবু URL অন্য কেউ জেনে ফেললেও
  টেলিগ্রাম ছাড়া অ্যাপ কাজ করে না (initData ছাড়া সব API বন্ধ)।

---------------------------------------------------------------------
ধাপ ৩) ইনস্টল
---------------------------------------------------------------------
পদ্ধতি A — অটো ইনস্টলার (সহজ):
 1. cPanel > MySQL Databases: নতুন Database + User বানিয়ে User কে ALL PRIVILEGES দিন।
 2. ব্রাউজারে খুলুন:  https://আপনার-সাবডোমেইন/install.php
 3. ডাটাবেসের তথ্য, অ্যাপের নাম, অ্যাডমিন ইউজারনেম/পাসওয়ার্ড দিয়ে "ইনস্টল করুন"।
 4. ইনস্টল শেষে সার্ভার থেকে install.php ফাইলটি মুছে ফেলুন।
পদ্ধতি B — ম্যানুয়াল: phpMyAdmin > Import > install.sql; তারপর config.php এ DB তথ্য বসান।
 অ্যাডমিন লগইন: /admin/login.php  (ডিফল্ট: admin / admin123 — এখনই "অ্যাকাউন্ট" থেকে বদলান!)
uploads/ ফোল্ডারের permission 755 (না হলে 775) থাকতে হবে।

---------------------------------------------------------------------
ধাপ ৪) অ্যাডমিন > "বট সেটআপ" (৩টি ক্লিকে বট চালু)
---------------------------------------------------------------------
1. বট টোকেন, মিনি অ্যাপ URL (https://সাবডোমেইন/), (থাকলে) Short name বসিয়ে "সেভ ও বট যাচাই" চাপুন।
   সফল হলে বটের ইউজারনেম অটো বসে যাবে।
2. "ওয়েবহুক সেট করুন" চাপুন (সিক্রেট টোকেন অটো তৈরি হয়; শুধু টেলিগ্রাম থেকেই বট.php গ্রহণ করে)।
3. "মেনু বাটন সেট" ও "কমান্ড সেট" চাপুন।
এবার বটে /start দিন → স্বাগত মেসেজ ও বাটন আসবে।

---------------------------------------------------------------------
ধাপ ৫) Monetag বিজ্ঞাপন সেটআপ
---------------------------------------------------------------------
1. Monetag অ্যাকাউন্টে টেলিগ্রাম মিনি অ্যাপ/ Rewarded ad জোন তৈরি করুন; আপনার অ্যাপ URL যোগ করুন।
2. অ্যাডমিন > সেটিংস > বিজ্ঞাপন: Zone ID বসান; SDK URL ও বিজ্ঞাপনের ধরন (Rewarded Interstitial/Popup) Monetag যা বলেছে সেটা দিন।
3. "সর্বনিম্ন বিজ্ঞাপন দেখার সময়" (সার্ভার যাচাই) ও "দুই বিজ্ঞাপনের বিরতি" ঠিক করুন।
4. Zone ID ফাঁকা থাকলে অ্যাপে ডেমো কাউন্টডাউন চলে (টেস্টের জন্য) — আয় হয় না, তাই লাইভে Zone ID দিন।
5. ঐচ্ছিক সার্ভার-যাচাই (postback): সিক্রেট কী সেট করে Monetag এ এই URL দিন:
   https://আপনার-সাবডোমেইন/postback.php?key=সিক্রেট&ymid={ymid}&event_type={event_type}
   তারপর "কঠোর যাচাই" চালু করলে postback না আসা বিজ্ঞাপন গণনা হবে না।
⚠️ Monetag এর SDK/ফাংশনের নিয়ম বদলাতে পারে — আমি তাদের সর্বশেষ ডকুমেন্টেশন সরাসরি দেখে যাচাই করতে পারিনি।
   তাই লাইভে যাওয়ার আগে নিজে ১টি ভিডিওতে বিজ্ঞাপন চালিয়ে দেখে নিন; দরকারে SDK URL/ধরন বদলান।

---------------------------------------------------------------------
ধাপ ৬) কনটেন্ট যোগ
---------------------------------------------------------------------
* টাইটেল: অ্যাডমিন > টাইটেল — যোগ/এডিট/মোছা/ক্রম/বন্ধ।
* ভিডিও: অ্যাডমিন > ভিডিও > নতুন ভিডিও: থাম্বনেইল, নাম, বিবরণ, কোন টাইটেল, কয়টি বিজ্ঞাপন (০–২০),
  অতিরিক্ত স্ক্রিনশট (ঐচ্ছিক), 🔒 টেলিগ্রাম ফাইল-শেয়ারিং লিংক (যেমন https://t.me/FileBot?start=xxx)। পরে এডিট/মোছা যায়।
* ভিডিওর বিজ্ঞাপন "০" দিলেও ন্যূনতম ১টি বিজ্ঞাপন লাগে (প্রিমিয়াম/রেফার ক্রেডিট ছাড়া)।
* আনলক হওয়া ভিডিও সেটিংসে ঠিক করা ঘণ্টা (ডিফল্ট ২৪) খোলা থাকে।

---------------------------------------------------------------------
অ্যাডমিন প্যানেল থেকে কী কী কন্ট্রোল
---------------------------------------------------------------------
ড্যাশবোর্ড (ইউজার, আজকের নতুন/সক্রিয়, বিজ্ঞাপন, ভিডিও খোলা, রেফার, প্রিমিয়াম, ব্যান, ৭ দিনের গ্রাফ, জনপ্রিয় ভিডিও)
ইউজার সার্চ (ID/ইউজারনেম/নাম) + ফিল্টার; ইউজার পেজ: ব্যান/আনব্যান (কারণসহ), প্রিমিয়াম দেওয়া/বাতিল,
ক্রেডিট যোগ/বিয়োগ, বটের মাধ্যমে মেসেজ, রেফার করা ইউজারদের তালিকা, শেষ খোলা ভিডিও
নোটিশ, মেনু/সেটিংস লিংক, পপআপ (ছবি, লেখা, বাটন, কতবার দেখাবে), মেইনটেন্যান্স মোড (অ্যাপ+বট),
বিজ্ঞাপন বিরতি/সময়, রেফার লক্ষ্য N ও প্রিমিয়াম M দিন, আনলক সময়, ওয়াটারমার্ক/ঝাপসা, ডেলিভারি মোড,
স্বাগত মেসেজ ও বাটনের লেখা, থিমের রঙ, বট সেটআপ।

---------------------------------------------------------------------
শেয়ার/রেফার লিংকের গঠন
---------------------------------------------------------------------
v<ভিডিওID>_r<রেফারারের টেলিগ্রাম ID>   → ভিডিও পেজ    (যেমন ...?startapp=v12_r345)
c<টাইটেলID>_r<রেফারার ID>             → টাইটেল সেকশন
r<রেফারার ID>                          → শুধু রেফার
নতুন ইউজার ঢুকলে রেফারার সেট হয়; নতুন ইউজার অ্যাডমিনের ঠিক করা সংখ্যক ("রেফার গণনার জন্য কমপক্ষে কয়টি বিজ্ঞাপন",
ডিফল্ট ১) বিজ্ঞাপন দেখলে তবেই রেফার গণনা হয় (ভুয়া অ্যাকাউন্ট ঠেকাতে)। নিজেকে নিজে রেফার করা যায় না।

---------------------------------------------------------------------
সৎ সীমাবদ্ধতা (জেনে রাখুন)
---------------------------------------------------------------------
1) স্ক্রিনশট: ওয়েব-ভিত্তিক মিনি অ্যাপ থেকে ফোনের স্ক্রিনশট/স্ক্রিন-রেকর্ড ১০০% আটকানো কোনো ওয়েব কোডে সম্ভব নয়।
   এখানে বাধা দেওয়া হয়েছে (ওয়াটারমার্ক যাতে ফাঁস হলে ইউজার চেনা যায়, ফোকাস হারালে ঝাপসা, কপি বন্ধ) এবং
   বটের মেসেজে protect_content (ফরওয়ার্ড/সেভ বন্ধ) চালু। সবচেয়ে বড় সুরক্ষা — আসল ভিডিও টেলিগ্রামেই থাকে।
2) ভিডিও লিংক: সার্ভার আনলকের আগে লিংক কখনো পাঠায় না। কিন্তু আনলকের পর ইউজারের ফোনে লিংক খোলে, তাই কেউ
   ইচ্ছা করলে তখন লিংক দেখে/কপি করতে পারে। বেশি সুরক্ষা চাইলে সেটিংস > নিরাপত্তা > "বট প্রোটেক্টেড মেসেজে পাঠাবে"
   বেছে নিন (লিংক অ্যাপে আসে না, বটের ফরওয়ার্ড-বন্ধ মেসেজে বাটন হয়ে যায়)।
   মনে রাখুন: ফাইল-শেয়ারিং বটের নিজস্ব সুরক্ষাই (প্রোটেক্ট কনটেন্ট) ভিডিও রক্ষার মূল ভরসা।
3) মেইন ডোমেইন: আলাদা সাবডোমেইন/ডোমেইন + Cloudflare ব্যবহার করুন। এই সাইটের পেজে robots noindex দেওয়া আছে।
4) বিজ্ঞাপন গণনা সার্ভারে যাচাই হয় (সময়, বিরতি, একবার-ব্যবহার টোকেন) — তবে Monetag এর সার্ভার-যাচাই (postback) চালু
   করলে সবচেয়ে নির্ভরযোগ্য।
5) টেস্ট: কোড একটি নকল টেলিগ্রাম সার্ভার ও SQLite দিয়ে পরীক্ষিত (২৩৪টি সার্ভার টেস্ট + ব্রাউজার UI টেস্ট পাস)।
   আসল MySQL ও আসল টেলিগ্রাম/Monetag এ লাইভে প্রথমবার নিজে একবার ঘুরিয়ে দেখে নিন।

---------------------------------------------------------------------
সমস্যা হলে
---------------------------------------------------------------------
* অ্যাপ খুললে "টেলিগ্রামের ভেতর থেকে খুলুন": সরাসরি ব্রাউজারে খুলেছেন — বটের বাটন দিয়ে খুলুন।
* "বট মেসেজ পাঠানো যায়নি": ইউজারকে আগে বটে /start দিতে হবে।
* বট উত্তর দেয় না: বট সেটআপে "ওয়েবহুক স্ট্যাটাস" দেখুন (last_error_message); URL https ও SSL ঠিক আছে কিনা দেখুন।
* ছবি আপলোড হয় না: uploads/ permission 755/775; php.ini এ upload_max_filesize বাড়ান।
* সব বিজ্ঞাপন "যাচাই হচ্ছে" বললে: "কঠোর যাচাই" বন্ধ করুন (postback ঠিকমতো না এলে)।
