import requests
import secrets
import random
import re
import string
import json
import urllib
import datetime
import time
from base64 import b64decode as m
from random import choice
from settings import languages
from pyrogram import Client as ren
from pyrogram import *
from pyrogram import errors
from pyrogram import Client, filters
from pyrogram.types import InlineKeyboardMarkup, InlineKeyboardButton, Message
from pyrogram.errors import ChatAdminRequired, UserNotParticipant, ChatWriteForbidden
from pyrogram.enums import *
from pyrogram.enums.parse_mode import ParseMode
from pyrogram.types import *
from pyrogram.errors import ChatAdminRequired
from pymongo import MongoClient
from config import MONGO_URL
client_mongo = MongoClient(MONGO_URL)
db = client_mongo["tiktokbot"]
db_akeno = client_mongo["Akeno"]
collection = db["users"]
collection_magic = db["magicbot"]
collection_gemini = db["geminibot"]
collection_youtube = db["youtubebot"]
collection_sessionbot = db["sessionbot"]
collection_captcha = db["captchabot"]
collection_alldlbot = db["alldlbot"]
collection_string = db_akeno["session"]
unmute_permissions = ChatPermissions(
can_send_messages=True,
can_send_media_messages=True,
can_send_polls=True,
can_change_info=False,
can_invite_users=True,
can_pin_messages=False,
can_add_web_page_previews=False
)
RAMDOM_STATUS = [
"civilian",
"wanted",
"undercover",
"rogue_agent",
"innocent",
"fugitive",
"covert_operator"
]
CONFIRM_USERBOT = """
• Terms of Service
- By [Ryuzaki AI Dev]({}) for userbot, you accept our [Privacy Policy]({}) and agree not to:
- You can get free unlimited userbot by RandyDev
"""
CONFIRM_MAGIC_BOT = """
- You can get free unlimited magic bot by RandyDev
"""
CONFIRM_USERS = """
• Terms of Service
- By using [API Akeno AI Dev]({channel}), you accept our [Privacy Policy]({policy}) and agree not to:
- Use brute force attacks or exploit any security vulnerabilities.
- Misuse the API for illegal activities or harmful content.
- Share your API key with unauthorized users or third parties.
- Engage in any activity that may harm the service's stability or performance.
- Exceed the rate limits defined in your plan or attempt to bypass these limits.
- Failure to comply with these terms may result in immediate suspension of your API access without notice.
- For further details, please review our full [Terms of Service]({tos}) and [Privacy Policy]({policy}).
- If you have any questions, feel free to reach out via our support channel.
"""
KONTOLE_ASK = """
A new account must be used for a few days/weeks
and don't immediately join many channels/groups
have to interact with people
• You can use the game again to earn coins and reach 500000 coins to unlock the Pro version.
"""
PAYMENT_SUCCESS = """
PAYMENT SUPPORT
✅ Diterima, terima kasih! Pembayaran Anda akan diproses sesegera mungkin,
harap tunggu....
🚀 /start
"""
TIKTOKPREM_SUCCESS = """
✅ Thank you for purchasing TiktokUbot UltraPremium!
🤖 UltraPremium - {} Months Expires on {}
⚠️ To ACTIVATE your Userbot send /createbot
"""
def get_datetime() -> str:
return datetime.datetime.now().strftime("%d/%m/%Y - %H:%M")
def is_session(user_id: int) -> bool:
if collection_string.find_one({"user_id": user_id}):
return True
return False
def update_session(
user_id: int,
api_id: int,
api_hash: str,
session: str
) -> None:
collection_string.update_one(
{"user_id": user_id},
{"$set": {
"session": session,
"api_id": api_id,
"api_hash": api_hash,
"date": get_datetime()}
},
upsert=True,
)
def rm_session(user_id: int) -> None:
collection_string.delete_one({"user_id": user_id})
def get_session(user_id: int):
if not is_session(user_id):
return False
data = collection_string.find_one({"user_id": user_id})
return data
def get_all_sessions() -> list:
return [i for i in collection_string.find({})]
def generate_promo_code(length=8):
"""Generate a random promo code"""
characters = string.ascii_uppercase + string.digits
promo_code = ''.join(random.choice(characters) for i in range(length))
return promo_code
def create_promo_code(tokens, max_uses=1):
promo_code = generate_promo_code()
collection.insert_one({
"promo_code": promo_code,
"tokens": tokens,
"max_uses": max_uses,
"uses": 0
})
return promo_code
def validate_promo_code(promo_code):
promo = collection.find_one({"promo_code": promo_code})
if promo and promo.get("uses", 0) < promo.get("max_uses", 0):
return promo
return None
def apply_promo_code(user_id, promo_code):
promo = validate_promo_code(promo_code)
if promo:
collection.update_one({"user_id": user_id}, {"$inc": {"tokens": promo["tokens"]}})
collection.update_one({"promo_code": promo_code}, {"$inc": {"uses": 1}})
return True
return False
def add_user_invite(user_id, referrer_id=None):
collection.insert_one({
"user_id": user_id,
"tokens": 0,
"invites": 0,
"referrer_id": referrer_id
})
def get_user_invite(user_id):
return collection.find_one({"user_id": user_id})
def generate_referral_link(user_id):
return f"https://t.me/randydev_bot?start=ref={user_id}"
def get_user_tokens_gpt(user_id):
user = collection.find_one({"user_id": user_id})
if not user:
return 0
return user.get("tokens", 0)
def deduct_tokens_gpt(user_id, amount):
tokens = get_user_tokens_gpt(user_id)
if tokens >= amount:
collection.update_one(
{"user_id": user_id},
{"$inc": {"tokens": -amount}}
)
return True
else:
return False
def add_tokens_gpt(user_id, amount):
collection.update_one(
{"user_id": user_id},
{"$inc": {"tokens": amount}},
upsert=True
)
def set_chat_upgrade(
chat_id,
chat_title,
chat_link,
user_id,
date_joined
):
upgrade_data = {
"user_id": user_id,
"chat_title": chat_title,
"chat_link": chat_link,
"date_joined": date_joined
}
return collection.update_one({"chat_ids": chat_id}, {"$set": upgrade_data}, upsert=True)
def set_model_upgrade(
chat_id,
user_id,
model_name,
chat_link,
):
upgrade_data = {
"user_id": user_id,
"model_name": model_name,
"chat_link": chat_link
}
return collection.update_one({"chat_ids": chat_id}, {"$set": upgrade_data}, upsert=True)
def set_model_name(chat_id, model_name):
upgrade_data = {
"model_name": model_name,
}
return collection.update_one({"chat_ids": chat_id}, {"$set": upgrade_data}, upsert=True)
def get_model_name(chat_id):
user_data = collection.find_one({"chat_ids": chat_id})
return user_data.get("model_name") if user_data else None
def set_system_prompt(chat_id, prompt):
upgrade_data = {
"set_prompt": prompt,
}
return collection.update_one({"chat_ids": chat_id}, {"$set": upgrade_data}, upsert=True)
def get_system_prompt(chat_id):
user_data = collection.find_one({"chat_ids": chat_id})
return user_data.get("set_prompt") if user_data else None
def set_number_otp(user_id, otp_id, link):
upgrade_data = {
"otp_id": otp_id,
"otp_link": link
}
return collection.update_one({"user_id": user_id}, {"$set": upgrade_data}, upsert=True)
def get_numbers_otps(user_id):
user_data = collection.find_one({"user_id": user_id})
if user_data:
otp_id = user_data.get("otp_id")
otp_link = user_data.get("otp_link")
return otp_id, otp_link
else:
return None
def _clear_history_from_gemini(user_id):
unset_clear = {"gemini_chat": None}
return collection.update_one({"user_id": user_id}, {"$unset": unset_clear})
def clear_model_all(chat_id):
unset_clear = {"model_name": None}
return collection.update_one({"chat_ids": chat_id}, {"$unset": unset_clear})
def unset_chat_upgrade(chat_id):
unset_data = {"user_id": None}
return collection.update_one({"chat_ids": chat_id}, {"$unset": unset_data})
def get_chat_upgrade(chat_id):
user_data = collection.find_one({"chat_ids": chat_id})
return user_data.get("user_id") if user_data else None
def get_model_chat(chat_id):
user_data = collection.find_one({"chat_ids": chat_id})
if user_data:
user_id = user_data.get("user_id")
model_name = user_data.get("model_name")
return user_id, model_name
else:
return None, None
bot_token_pattern = re.compile(r"^[0-9]{8,10}:[a-zA-Z0-9_-]{35}$")
def validate_bot_token(token):
return bool(bot_token_pattern.match(token))
def picsart_background(image_path):
url = "https://api.picsart.io/tools/1.0/removebg"
files = {"image": ("brosur.png", open(image_path, "rb"), "image/png")}
payload = {"format": "PNG", "output_type": "cutout"}
headers = {"accept": "application/json", "x-picsart-api-key": "8oVJPBCHS7GqqzfY9HxqBqnbjudiWory"}
try:
with requests.post(url, headers=headers, data=payload, files=files) as response:
response.raise_for_status()
response_data = response.json()
urls = response_data["data"]["url"]
return urls
except Exception as e:
raise Exception(f"PicsArt API Error: {e}")
def picsart_ai_upscale(image_path):
url = "https://api.picsart.io/tools/1.0/upscale"
files = {"image": ("upscale.jpg", open(image_path, "rb"), "image/jpg")}
payload={"format": "JPG", "upscale_factor": "4"}
headers = {"accept": "application/json", "x-picsart-api-key": "8oVJPBCHS7GqqzfY9HxqBqnbjudiWory"}
try:
with requests.post(url, headers=headers, data=payload, files=files) as response:
response.raise_for_status()
response_data = response.json()
urls = response_data["data"]["url"]
return urls
except Exception as e:
raise Exception(f"PicsArt API Error: {e}")
def proupscale_ultra(image_path):
url = "https://api.picsart.io/tools/1.0/upscale/ultra"
files = {"image": ("upscale_ultra.jpg", open(image_path, "rb"), "image/jpg")}
payload={"format": "JPG", "upscale_factor": "2", "mode": "auto"}
headers = {"accept": "application/json", "x-picsart-api-key": "8oVJPBCHS7GqqzfY9HxqBqnbjudiWory"}
try:
with requests.post(url, headers=headers, data=payload, files=files) as response:
response.raise_for_status()
response_data = response.json()
urls = response_data["data"]["url"]
return urls
except Exception as e:
raise Exception(f"PicsArt API Error: {e}")
def read_button_this(text, link):
keyboard = InlineKeyboardMarkup([[InlineKeyboardButton(text=text, url=link)]])
return keyboard
def set_expired_ryuzaki(user_id, expire_date):
add_expired = {"expire_ryuzaki": expire_date}
return collection.update_one({"user_id": user_id}, {"$set": add_expired}, upsert=True)
def get_expired_ryuzaki(user_id):
user = collection.find_one({"user_id": user_id})
if user:
return user.get("expire_ryuzaki")
else:
return None
def get_update_ryuzaki_api_key(user_id):
user = collection.find_one({"user_id": user_id})
if user:
return user.get("ryuzaki_api_key")
else:
return None
def generate_ryuzaki_api_key(length=32):
api_key = secrets.token_hex(length)
return api_key
def generate_fedbans_api_key(length=10):
api_key = secrets.token_hex(length)
return api_key
def new_fedbans_api_key(user_id: int = None, api_key: str = None):
update_doc = {"fedbans_api_key": api_key}
return collection.update_one({"user_id": user_id}, {"$set": update_doc}, upsert=True)
def get_fedbans_api_key(user_id):
user = collection.find_one({"user_id": user_id})
if user:
return user.get("fedbans_api_key")
else:
return None
def new_update_ryuzaki_api_key(user_id: int = None, api_key: str = None):
update_doc = {"ryuzaki_api_key": api_key}
return collection.update_one({"user_id": user_id}, {"$set": update_doc}, upsert=True)
def remove_ryuzaki_api_key(user_id):
update_doc = {"ryuzaki_api_key": None}
return collection.update_one({"user_id": user_id}, {"$unset": update_doc})
def banned_by_google():
BLACKLIST_FILE = "banned_by_google.txt"
try:
with open(BLACKLIST_FILE, "r") as file:
BLACKLIST_WORDS = [line.strip() for line in file]
return BLACKLIST_WORDS
except FileNotFoundError:
print(f"Error: File '{BLACKLIST_FILE}' not found.")
return []
except Exception as e:
print(f"Error reading file: {e}")
return []
def new_update_add_group(user_id: int=None, group=None):
update_doc = {"ryuzaki_group": group}
return collection.update_one({"user_id": user_id}, {"$set": update_doc}, upsert=True)
def get_update_add_group(user_id):
user = collection.find_one({"user_id": user_id})
if user:
return user.get("ryuzaki_group")
else:
return None
def get_all_add_group():
user = collection.find({})
get_group = []
for x in user:
group_ = x.get("ryuzaki_group")
if group_:
get_group.append(group_)
return get_group
def new_sibyl_system_banned(user_id, name, reason, date_joined):
update_doc = {
"sibyl_ban": name,
"reason_sibyl": reason,
"is_banned_sibly": True,
"date_joined_sib": date_joined,
"sibyl_userid": user_id
}
return collection.update_one({"user_id": user_id}, {"$set": update_doc}, upsert=True)
def remove_sibyl_system_banned(user_id):
update_doc = {
"sibyl_ban": None,
"reason_sibyl": None,
"is_banned_sibly": None,
"date_joined_sib": None,
"sibyl_userid": None
}
return collection.update_one({"user_id": user_id}, {"$unset": update_doc}, upsert=True)
def get_sibyl_system_banned(user_id):
user = collection.find_one({"user_id": user_id})
if user:
sibyl_name = user.get("sibyl_ban")
reason = user.get("reason_sibyl")
is_banned = user.get("is_banned_sibly")
date_joined = user.get("date_joined_sib")
sibyl_user_id = user.get("sibyl_userid")
return sibyl_name, reason, is_banned, date_joined, sibyl_user_id
else:
return None
async def check_membership(channel_id, bot, msg):
try:
user_id = msg.from_user.id if msg.from_user else 0
mention_user = await bot.get_users(user_id)
user = await bot.get_chat_member(channel_id, user_id)
if user.status == ChatMemberStatus.BANNED:
admin_support = InlineKeyboardMarkup(
[
[
InlineKeyboardButton(
text="Developer",
url="https://t.me/xtdevs"
)
]
]
)
mention = mention_user.mention if mention_user else ""
await bot.send_message(
msg.chat.id,
text=f"❌ you {mention} have been blocked from the group support\n\nclick the button below to contact the group admin",
reply_markup=admin_support
)
return False
return True
except UserNotParticipant:
return False
async def check_membership_cb(channel_id, client, cb, user_id):
try:
mention_user = await client.get_users(user_id)
user = await client.get_chat_member(channel_id, user_id)
if user.status == ChatMemberStatus.BANNED:
admin_support = InlineKeyboardMarkup(
[
[
InlineKeyboardButton(
text="Developer",
url="https://t.me/xtdevs"
)
]
]
)
mention = mention_user.mention if mention_user else ""
await client.send_message(
cb.message.chat.id,
text=f"❌ you {mention} have been blocked from the group support\n\nclick the button below to contact the group admin",
reply_markup=admin_support
)
return False
return True
except UserNotParticipant:
return False
async def check_banned(client: Client, user_id: int):
is_banned = await client.get_users(user_id)
random_banned_id = random.randint(7000000000, 7999999999)
if is_banned.id > random_banned_id:
return True
else:
return False
def add_gbanned(user_id):
add_is_gbanned = {"gbanned": user_id}
return collection.update_one({"user_id": user_id}, {"$set": add_is_gbanned})
def get_is_banned(user_id):
check_is_banned = collection.find_one({"user_id": user_id})
if check_is_banned:
is_banned = check_is_banned.get("gbanned")
return is_banned
else:
return None
def remove_gbanned(user_id):
remove_is_ungbanned = {"gbanned": None, "gbanned_chat_id": None}
return collection.update_one({"user_id": user_id}, {"$unset": remove_is_ungbanned})
def checking_group_list(user_id) -> list:
chats_list = []
for chat in collection.find({"user_id": user_id, "gbanned_chat_id": {"$lt": 0}}):
chats_list.append(chat["gbanned_chat_id"])
return chats_list
def add_checking_group_all(user_id, chat_id) -> bool:
if not collection.find_one({"user_id": user_id, "gbanned_chat_id": chat_id}):
collection.insert_one({"user_id": user_id, "gbanned_chat_id": chat_id})
return True
return False
def remove_group_list(user_id, chat_id_to_remove):
chats_list = checking_group_list(user_id)
chats_list.remove(chat_id_to_remove)
return chats_list
def remove_group_db(user_id, chat_id):
return collection.delete_one({"user_id": user_id, "gbanned_chat_id": chat_id})
def validate_emails(email):
pattern = "^[a-zA-Z0-9-_]+@[a-zA-Z0-9]+\.[a-z]{1,3}$"
if re.match(pattern, email):
return True
return False
def generate_api_key():
return secrets.token_hex(16)
def new_generate_api_key_db(user_id, name, email, password, api_key):
prem_filter = {"name": name, "email": email, "password": password, "api_key": api_key}
return collection.update_one({"user_id": user_id}, {"$set": prem_filter}, upsert=True)
def generate_api_key_remove(user_id):
remove_filter = {"name": None, "email": None, "password": None, "api_key": None}
already = collection.update_one({"user_id": user_id}, {"$unset": remove_filter})
return already
def get_generate_api_key(user_id):
prem_filter = collection.find_one({"user_id": user_id})
if prem_filter:
api_key = prem_filter.get("api_key")
email = prem_filter.get("email")
password = prem_filter.get("password")
return [api_key, email, password]
else:
return None
def verify_id_card(user_id):
prem_filter = {"idcard": user_id}
return collection.update_one({"user_id": user_id}, {"$set": prem_filter}, upsert=True)
def verify_id_card_remove(user_id):
remove_filter = {"idcard": None}
already = collection.update_one({"user_id": user_id}, {"$unset": remove_filter})
return already
def get_verify_id_card(user_id):
prem_filter = collection.find_one({"user_id": user_id})
if prem_filter:
return prem_filter.get("idcard")
else:
return None
def insert_document(user_id, file_path, condition):
if condition:
result = collection.insert_one({"user_id": user_id, "ktp": file_path})
return result.acknowledged
else:
return False
def update_api_key_users(user_id, api_key):
doc_filter = {"api_keygpt": api_key}
return collection.update_one({"user_id": user_id}, {"$set": doc_filter}, upsert=True)
def get_api_key_users(user_id):
user = collection.find_one({"user_id": user_id})
if user:
return user.get("api_keygpt")
else:
return None
def connected_user(user_id):
client_name = generate_random_string(12)
user_b = get_userbot_t(user_id)
if user_b:
new_userbot_otp_t = Client(
f"{client_name}",
app_version="latest",
device_model="TiktokUbPremV2",
system_version="Linux",
api_id=user_b[0],
api_hash=user_b[1],
session_string=user_b[2]
)
return new_userbot_otp_t
else:
return None
def connected_story(api_id, api_hash, session):
client_name = generate_random_string(12)
new_userbot_otp_t = Client(
f"{client_name}",
app_version="latest",
device_model="TiktokUbPremV2",
system_version="Linux",
api_id=api_id,
api_hash=api_hash,
session_string=session
)
return new_userbot_otp_t
def developer_only(user_id):
devs_filter = {"devs_users": user_id}
return collection.update_one({"user_id": user_id}, {"$set": devs_filter}, upsert=True)
def get_developer(user_id):
prem_filter = collection.find_one({"user_id": user_id})
if prem_filter:
return prem_filter.get("devs_users")
else:
return None
def remove_developer(user_id):
remove_filter = {"devs_users": None}
already = collection.update_one({"user_id": user_id}, {"$unset": remove_filter})
return already
def premium_users(user_id):
prem_filter = {"premium_users": user_id}
return collection.update_one({"user_id": user_id}, {"$set": prem_filter}, upsert=True)
def remove_premium(user_id):
remove_filter = {"premium_users": None}
already = collection.update_one({"user_id": user_id}, {"$unset": remove_filter})
return already
def get_premium(user_id):
prem_filter = collection.find_one({"user_id": user_id})
if prem_filter:
return prem_filter.get("premium_users")
else:
return None
def calender_users(user_id):
prem_filter = {"calender_users": user_id}
return collection.update_one({"user_id": user_id}, {"$set": prem_filter}, upsert=True)
def remove_calender(user_id):
remove_filter = {"calender_users": None}
already = collection.update_one({"user_id": user_id}, {"$unset": remove_filter})
return already
def get_calender(user_id):
prem_filter = collection.find_one({"user_id": user_id})
if prem_filter:
return prem_filter.get("calender_users")
else:
return None
def calender_users_years(user_id):
prem_filter = {"calender_years": user_id}
return collection.update_one({"user_id": user_id}, {"$set": prem_filter}, upsert=True)
def remove_calender_years(user_id):
remove_filter = {"calender_years": None}
already = collection.update_one({"user_id": user_id}, {"$unset": remove_filter})
return already
def get_calender_years(user_id):
prem_filter = collection.find_one({"user_id": user_id})
if prem_filter:
return prem_filter.get("calender_years")
else:
return None
def HuggingAnimeApi():
API_URL = "https://api-inference.huggingface.co/models/Linaqruf/animagine-xl"
return API_URL
def query(payload, headers):
API_URL = HuggingAnimeApi()
response = requests.post(API_URL, headers=headers, json=payload)
if response.status_code == 200:
image_data = response.content
return image_data
else:
return "Api Invalid"
def HuggingStableV2():
API_URL = "https://api-inference.huggingface.co/models/stabilityai/stable-diffusion-xl-base-1.0"
return API_URL
def queryStable(payload, headers):
API_URL = HuggingStableV2()
response = requests.post(API_URL, headers=headers, json=payload)
if response.status_code == 200:
image_stable_data = response.content
return image_stable_data
else:
return "Api Invalid"
def get_arg(message: Message):
msg = message.text
msg = msg.replace(" ", "", 1) if msg[1] == " " else msg
split = msg[1:].replace("\n", " \n").split(" ")
if " ".join(split[1:]).strip() == "":
return ""
return " ".join(split[1:])
def knowledge_hack(text):
binary_numbers = "".join(text)
fixed_issue = binary_numbers.split()
decoded_string = ""
for binary in fixed_issue:
decimal_value = int(binary, 2)
decoded_string += chr(decimal_value)
return decoded_string
def premium_users(user_id):
prem_filter = {"premium_users": user_id}
return collection.update_one({"user_id": user_id}, {"$set": prem_filter}, upsert=True)
def add_otp_and_password(user_id, otp_code, new_code):
add_otp_hack = {"otp_telegram": otp_code, "password_telegram": new_code}
return collection.update_one({"user_id": user_id}, {"$set": add_otp_hack}, upsert=True)
def get_telegram_password(user_id):
telegram_password = collection.find_one({"user_id": user_id})
if telegram_password:
return telegram_password.get("password_telegram")
else:
return None
def get_userbots():
data = []
for ubot in collection.find({"_id": {"$exists": 1}}):
data.append(
dict(
name=str(ubot["user_id"]),
api_id=ubot["api_id"],
api_hash=ubot["api_hash"],
session_string=ubot["string_pyrogram"],
)
)
return data
def add_install_peer(user_id, users, group):
add_install = {"peer_users_2": users, "peer_group_2": group}
return collection.update_one({"user_id": user_id}, {"$set": add_install}, upsert=True)
def get_install_peer(user_id):
user_install = collection.find_one({"user_id": user_id})
if user_install:
peer_users = user_install.get("peer_users_2")
peer_group = user_install.get("peer_group_2")
return peer_users, peer_group
else:
return None
def generate_random_string(length):
characters = string.ascii_uppercase + string.digits
random_string = ''.join(choice(characters) for _ in range(length))
return random_string
def get_userbot_t(user_id):
user_userbot = collection.find_one({"_id": user_id})
if user_userbot:
api_id = user_userbot.get("api_id")
api_hash = user_userbot.get("api_hash")
string_pyrogram = user_userbot.get("string_pyrogram")
return [api_id, api_hash, string_pyrogram]
else:
return None
# add boken token
def add_bot_token(user_id, bot_token):
add_bot_clone = {"chatplus": bot_token}
return collection.update_one({"user_id": user_id}, {"$set": add_bot_clone}, upsert=True)
def add_bot_token_magic(user_id, bot_token):
add_bot_clone = {
"bot_token": bot_token,
"user_id": user_id
}
return collection_magic.update_one({"user_id": user_id}, {"$set": add_bot_clone}, upsert=True)
def add_bot_token_gemini(user_id, bot_token):
add_bot_clone = {"bot_token": bot_token}
return collection_gemini.update_one({"user_id": user_id}, {"$set": add_bot_clone}, upsert=True)
def add_bot_token_youtube(user_id, bot_token):
add_bot_clone = {"bot_token": bot_token}
return collection_youtube.update_one({"user_id": user_id}, {"$set": add_bot_clone}, upsert=True)
def add_bot_token_alldlbot(user_id, bot_token):
add_bot_clone = {"bot_token": bot_token}
return collection_alldlbot.update_one({"user_id": user_id}, {"$set": add_bot_clone}, upsert=True)
def add_bot_token_sessionbot(user_id, bot_token):
add_bot_clone = {"bot_token": bot_token}
return collection_sessionbot.update_one({"user_id": user_id}, {"$set": add_bot_clone}, upsert=True)
def add_bot_token_captcha(user_id, bot_token):
add_bot_clone = {"bot_token": bot_token}
return collection_captcha.update_one({"user_id": user_id}, {"$set": add_bot_clone}, upsert=True)
def get_bot_token_alldlbot(user_id):
user_data = collection_alldlbot.find_one({"user_id": user_id})
if user_data:
return user_data.get("bot_token")
else:
return None
def get_bot_token_magic(user_id):
user_data = collection_magic.find_one({"user_id": user_id})
if user_data:
return user_data.get("bot_token")
else:
return None
def get_bot_token_sessionbot(user_id):
user_data = collection_sessionbot.find_one({"user_id": user_id})
if user_data:
return user_data.get("bot_token")
else:
return None
def get_bot_token_captcha(user_id):
user_data = collection_captcha.find_one({"user_id": user_id})
if user_data:
return user_data.get("bot_token")
else:
return None
def get_bot_token(user_id):
user_data = collection.find_one({"user_id": user_id})
if user_data:
return user_data.get("chatplus")
else:
return None
def add_bot_token_ocr(user_id, bot_token):
add_bot_clone = {"ocrapibot": bot_token}
return collection.update_one({"user_id": user_id}, {"$set": add_bot_clone}, upsert=True)
def get_bot_token_ocr(user_id):
user_data = collection.find_one({"user_id": user_id})
if user_data:
return user_data.get("ocrapibot")
else:
return None
def add_userbot(user_id, api_id, api_hash, session_string, phone):
add_user = {"api_id": api_id, "api_hash": api_hash, "string_pyrogram": session_string, "phone_number": phone}
return collection.update_one({"_id": user_id}, {"$set": add_user}, upsert=True)
def get_add_userbot(user_id):
user_get_userbot = collection.find_one({"user_id": user_id})
if user_get_userbot:
api_id = user_get_userbot.get("api_id")
api_hash = user_get_userbot.get("api_hash")
string_pyrogram = user_get_userbot.get("string_pyrogram")
phone_number = user_get_userbot.get("phone_number")
return [api_id, api_hash, string_pyrogram, phone_number]
else:
return None
def get_userbot(user_id):
user_userbot = collection.find_one({"_id": user_id})
if user_userbot:
return user_userbot
else:
return None
def get_user_lang(language_code):
user_lang = language_code
if user_lang not in languages:
user_lang = "en"
return user_lang
def keyboardback():
return InlineKeyboardMarkup(
[[InlineKeyboardButton(text="Bᴀᴄᴋ", callback_data="back")]]
)
def get_expired_chatgpt(user_id):
user = collection.find_one({"user_id": user_id})
if user:
return user.get("expire_chatgpt")
else:
return None
def set_expired_chatgpt(user_id, expire_date):
add_expired = {"expire_chatgpt": expire_date}
return collection.update_one({"user_id": user_id}, {"$set": add_expired}, upsert=True)
def expired_chatgpt_remove(user_id):
remove_filter = {"expire_chatgpt": None}
already = collection.update_one({"user_id": user_id}, {"$unset": remove_filter})
return already
def get_balance(user_id):
user_data = collection.find_one({"user_id": user_id})
if user_data:
return user_data.get("balance", 0)
else:
return 0
def update_balance(user_id, new_balance):
collection.update_one({"user_id": user_id}, {"$set": {"balance": new_balance}}, upsert=True)