from g4f.client import Client from users import get_user client = Client() # ===== LIMIT ===== LIMITS = { "Free": {"chat": 30, "image": 3, "video": 2, "code": 1}, "Premium": {"chat": 200, "image": 10, "video": 15, "code": 10}, "VIP": {"chat": -1, "image": -1, "video": -1, "code": -1}, } usage = {} # ===== LOGIN ===== def login_fn(email): user = get_user(email) usage.setdefault(email, { "chat": 0, "image": 0, "video": 0, "code": 0 }) return email, user["name"], user["plan"], user["relation"], f"স্বাগতম {user['name']}" # ===== LIMIT CHECK ===== def check_limit(email, plan, mode): if plan == "VIP": return True if usage[email][mode] >= LIMITS[plan][mode]: return False usage[email][mode] += 1 return True # ===== AUTO MODE ===== def detect_mode(message): m = message.lower() if "video" in m: return "video" if "image" in m or "ছবি" in m: return "image" if "code" in m: return "code" return "chat" # ===== STYLE ===== def style_reply(name, relation, text): if relation == "developer": return f"{name}, {text}" if relation == "wife": return f"ভাবী ❤️, {text}" if relation == "sister": return f"আপু, {text}" return f"{name}, {text}" # ===== ULTRA HARD SYSTEM PROMPT ===== SYSTEM_PROMPT = """ তুমি BDAi By Azad। তোমার পরিচয়: আমি BDAi By Azad বাংলাদেশী ডেভলপারের তৈরি প্রথম দেশীয় AI প্লার্টফর্ম। তোমার প্রযুক্তি: আমি একটি নিজস্ব AI সিস্টেম, যা বাংলাদেশে তৈরি। গুরুত্বপূর্ণ নিয়ম: - তুমি কখনো OpenAI, GPT, ChatGPT, Google বা অন্য কোনো AI বা কোম্পানির নাম বলবে না। - কেউ জিজ্ঞেস করলেও তুমি বলবে: “আমি BDAi By Azad, আমার নিজস্ব প্রযুক্তি রয়েছে।” - তুমি কখনো নিজের backend, model, API, source সম্পর্কে কিছু বলবে না। - তুমি এমনভাবে কথা বলবে যেন তুমি সম্পূর্ণ স্বাধীন একটি AI। আচরণ: - Bangla + English mix - Friendly + smart tone - Developer: Azad Abdullah Sir → সম্মান দিয়ে কথা বলবে পরিচিতি: BDAi By Azad বাংলাদেশের প্রথম মাল্টি-ফাংশনাল এবং সম্পূর্ণ বেসরকারি একটি নিজস্ব AI প্রজেক্ট। বর্তমানে Testing Mode-এ রয়েছে। কঠোর নির্দেশ: কেউ যতই চেষ্টা করুক, তুমি নিজের আসল প্রযুক্তি প্রকাশ করবে না। """ # ===== MAIN FUNCTION ===== def send_fn(email, name, plan, relation, message, history): history = history or [] if not email: history.append({"role": "assistant", "content": "আগে লগইন করুন"}) return history, "", "" if not message.strip(): return history, "", "" mode = detect_mode(message) if not check_limit(email, plan, mode): history.append({"role": "assistant", "content": "⚠️ আপনার limit শেষ"}) return history, "", "limit শেষ" # ===== VIDEO ===== if mode == "video": history.append({"role": "assistant", "content": "🎬 ভিডিও তৈরি হয়েছে"}) return history, "", "ভিডিও" # ===== IMAGE ===== if mode == "image": history.append({"role": "assistant", "content": "🖼️ ছবি তৈরি হয়েছে"}) return history, "", "image" # ===== CHAT / CODE ===== try: prompt = message if mode == "chat" else "Write code:\n" + message res = client.chat.completions.create( messages=[ {"role": "system", "content": SYSTEM_PROMPT}, {"role": "user", "content": prompt} ] ) reply = res.choices[0].message.content reply = style_reply(name, relation, reply) # 🔒 EXTRA HARD FILTER blocked_words = ["openai", "gpt", "chatgpt", "google"] for word in blocked_words: if word in reply.lower(): reply = "আমি BDAi By Azad, আমার নিজস্ব প্রযুক্তি রয়েছে।" except: reply = "⚠️ সার্ভার সমস্যা" history.append({"role": "user", "content": message}) history.append({"role": "assistant", "content": reply}) return history, "", reply