কিভাবে টেলিগ্রাম বটে মেসেজ পাঠাবেন


১.প্যাকেজ আপডেট
pkg update && pkg upgrade

(মাঝখানে পারমিশন চাইলে y লিখে এন্টার দিবেন)

২. পাইথন ইনস্টল
pkg install python
৩.টেক্সট এডিটর (Nano) ইনস্টল
pkg install nano
৪.স্টোরেজ পারমিশন

আপনার ফোনের মেমোরি থেকে ফাইল এক্সেস করার জন্য এই কমান্ডটি দিন।

termux-setup-storage

(ফোনের স্ক্রিনে 'Allow' চাইলে ক্লিক করুন)

৫.প্রয়োজনীয় লাইব্রেরি ইনস্টল
pip install requests

আমাদের ব্রডকাস্টের জন্য শুধু requests লাইব্রেরিটি লাগবে

৬.ব্রডকাস্ট ফাইল তৈরি
nano broadcast.py

এখন আমরা আসল ফাইলটি তৈরি করবো যা ছবি এবং টেক্সট দুটোই পাঠাতে পারবে।

এখন নিচের কোডটি সম্পূর্ণ কপি করে Termux-এ পেস্ট করুন:

import requests
import time
import io

DB_URL = "এখানে-ডাটাবেজ-লিংক" 
BOT_TOKEN = "এখানে-আপনার-বটের-টোকেন-দিন"

def send_photo(user_id, photo_url, caption):
    url = f"https://api.telegram.org/bot{BOT_TOKEN}/sendPhoto"
    try:
        
        img_res = requests.get(photo_url, timeout=15)
        if img_res.status_code == 200:
            
            photo_file = io.BytesIO(img_res.content)
            photo_file.name = "image.png"
            
            
            files = {'photo': photo_file}
            data = {'chat_id': user_id, 'caption': caption, 'parse_mode': 'HTML'}
            r = requests.post(url, data=data, files=files, timeout=20)
            
            if r.status_code != 200:
                print(f"❌ Upload failed for {user_id}: {r.text}")
                (Fallback)
                return send_text(user_id, caption)
            return True
        else:
            print(f"❌ Could not download image from URL: {photo_url}")
            return send_text(user_id, caption)
    except Exception as e:
        print(f"❌ Error in send_photo: {e}")
        return send_text(user_id, caption)

def send_text(user_id, text):
    url = f"https://api.telegram.org/bot{BOT_TOKEN}/sendMessage"
    payload = {"chat_id": user_id, "text": text, "parse_mode": "HTML"}
    try:
        r = requests.post(url, json=payload, timeout=10)
        return r.status_code == 200
    except: return False

print("🚀 Direct Image Upload Broadcaster is RUNNING...")

while True:
    try:
        q_url = f"{DB_URL}/broadcastQueue.json?orderBy=\"status\"&equalTo=\"pending\""
        response = requests.get(q_url)
        queues = response.json()

        if queues and isinstance(queues, dict):
            for q_id, q_data in queues.items():
                msg = q_data.get('message', '')
                img = q_data.get('imageUrl', '') 
                
                print(f"📡 Broadcasting to users...")
                
                u_res = requests.get(f"{DB_URL}/users.json")
                users = u_res.json()
                
                if users and isinstance(users, dict):
                    total = 0
                    for u_id in users.keys():
                        if img and img.strip().startswith("http"):
                            
                            success = send_photo(u_id, img, msg)
                        else:
                            success = send_text(u_id, msg)
                        
                        if success: total += 1
                        time.sleep(0.1) 
                    
                    print(f"✅ Successfully sent to {total} users.")
                
                requests.patch(f"{DB_URL}/broadcastQueue/{q_id}.json", json={"status": "completed"})
        
    except Exception as e:
        print(f"❌ Main Loop Error: {e}")
    
    time.sleep(10)
সেভ করার নিয়ম:কোড পেস্ট করার পর কিবোর্ড থেকে CTRL + O তারপর Enter দিন। সবশেষে CTRL + X চেপে বের হয়ে আসুন।
৭.ব্রডকাস্ট চালু করা

এখন আপনার ব্রডকাস্ট সিস্টেমটি চালু করতে নিচের কমান্ডটি দিন:

python broadcast.py
গুরুত্বপুর্ণ টিপস: Termux যাতে ব্যাকগ্রাউন্ডে বন্ধ না হয়, সেজন্য নোটিফিকেশন বার থেকে "Acquire Wake Lock" অন করে রাখুন।

Post a Comment

0 Comments