BDAi-By-Azad / logic.py
bdaibyazad's picture
Update logic.py
c7f0b3c verified
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