Professor / info.py
azils3's picture
Update info.py
f218229 verified
raw
history blame
7.17 kB
import re, time
from os import environ
from Script import script
import logging
logger = logging.getLogger(__name__)
logger.setLevel(logging.INFO)
id_pattern = re.compile(r'^.\d+$')
def is_enabled(value, default):
"""
Check if a given value is enabled based on common enable/disable keywords.
"""
if value.strip().lower() in ["on", "true", "yes", "1", "enable", "y"]:
logger.debug(f"Value '{value}' is enabled.")
return True
elif value.strip().lower() in ["off", "false", "no", "0", "disable", "n"]:
logger.debug(f"Value '{value}' is disabled.")
return False
else:
logger.debug(f"Value '{value}' does not match known patterns, returning default '{default}'.")
return default
# PyroClient Setup
API_ID = int(environ['API_ID'])
logger.info(f"API_ID loaded: {API_ID}")
API_HASH = environ['API_HASH']
logger.info(f"API_HASH loaded.")
BOT_TOKEN = environ['BOT_TOKEN']
logger.info(f"BOT_TOKEN loaded.")
# Bot settings
WEB_SUPPORT = bool(environ.get("WEBHOOK", 'True')) # for web support on/off
logger.info(f"WEB_SUPPORT set to: {WEB_SUPPORT}")
PICS = (environ.get('PICS' ,'https://graph.org/file/01ddfcb1e8203879a63d7.jpg https://graph.org/file/d69995d9846fd4ad632b8.jpg https://graph.org/file/a125497b6b85a1d774394.jpg https://graph.org/file/43d26c54d37f4afb830f7.jpg https://graph.org/file/60c1adffc7cc2015f771c.jpg https://graph.org/file/d7b520240b00b7f083a24.jpg https://graph.org/file/0f336b0402db3f2a20037.jpg https://graph.org/file/39cc4e15cad4519d8e932.jpg https://graph.org/file/d59a1108b1ed1c6c6c144.jpg https://te.legra.ph/file/3a4a79f8d5955e64cbb8e.jpg https://graph.org/file/d69995d9846fd4ad632b8.jpg')).split()
logger.info(f"PICS loaded: {PICS}")
UPTIME = time.time()
logger.info(f"UPTIME set to: {UPTIME}")
# Admins, Channels & Users
CACHE_TIME = int(environ.get('CACHE_TIME', 300))
logger.info(f"CACHE_TIME set to: {CACHE_TIME}")
ADMINS = [int(admin) if id_pattern.search(admin) else admin for admin in environ.get('ADMINS', '').split()]
logger.info(f"ADMINS loaded: {ADMINS}")
CHANNELS = [int(ch) if id_pattern.search(ch) else ch for ch in environ.get('CHANNELS', '0').split()]
logger.info(f"CHANNELS loaded: {CHANNELS}")
auth_users = [int(user) if id_pattern.search(user) else user for user in environ.get('AUTH_USERS', '').split()]
logger.info(f"AUTH_USERS loaded: {auth_users}")
AUTH_USERS = (auth_users + ADMINS) if auth_users else []
logger.info(f"Final AUTH_USERS set: {AUTH_USERS}")
auth_channel = environ.get('AUTH_CHANNEL')
auth_grp = environ.get('AUTH_GROUP')
AUTH_CHANNEL = int(auth_channel) if auth_channel and id_pattern.search(auth_channel) else None
logger.info(f"AUTH_CHANNEL set to: {AUTH_CHANNEL}")
AUTH_GROUPS = [int(ch) for ch in auth_grp.split()] if auth_grp else None
logger.info(f"AUTH_GROUPS set to: {AUTH_GROUPS}")
# MongoDB information
DATABASE_URL = environ.get('DATABASE_URL', "")
logger.info(f"DATABASE_URL loaded: {DATABASE_URL}")
DATABASE_NAME = environ.get('DATABASE_NAME', "Cluster0")
logger.info(f"DATABASE_NAME set to: {DATABASE_NAME}")
FILE_DB_URL = environ.get("FILE_DB_URL", DATABASE_URL)
logger.info(f"FILE_DB_URL set to: {FILE_DB_URL}")
FILE_DB_NAME = environ.get("FILE_DB_NAME", DATABASE_NAME)
logger.info(f"FILE_DB_NAME set to: {FILE_DB_NAME}")
COLLECTION_NAME = environ.get('COLLECTION_NAME', 'Telegram_files')
logger.info(f"COLLECTION_NAME set to: {COLLECTION_NAME}")
# Filters Configuration
MAX_RIST_BTNS = int(environ.get('MAX_RIST_BTNS', "10"))
logger.info(f"MAX_RIST_BTNS set to: {MAX_RIST_BTNS}")
START_MESSAGE = environ.get('START_MESSAGE', script.START_TXT)
logger.info(f"START_MESSAGE loaded: {START_MESSAGE}")
BUTTON_LOCK_TEXT = environ.get("BUTTON_LOCK_TEXT", script.BUTTON_LOCK_TEXT)
logger.info(f"BUTTON_LOCK_TEXT loaded: {BUTTON_LOCK_TEXT}")
FORCE_SUB_TEXT = environ.get('FORCE_SUB_TEXT', script.FORCE_SUB_TEXT)
logger.info(f"FORCE_SUB_TEXT loaded: {FORCE_SUB_TEXT}")
WELCOM_PIC = environ.get("WELCOM_PIC", "")
logger.info(f"WELCOM_PIC set to: {WELCOM_PIC}")
WELCOM_TEXT = environ.get("WELCOM_TEXT", script.WELCOM_TEXT)
logger.info(f"WELCOM_TEXT loaded: {WELCOM_TEXT}")
PMFILTER = is_enabled(environ.get('PMFILTER', "True"), True)
logger.info(f"PMFILTER set to: {PMFILTER}")
G_FILTER = is_enabled(environ.get("G_FILTER", "True"), True)
logger.info(f"G_FILTER set to: {G_FILTER}")
BUTTON_LOCK = is_enabled(environ.get("BUTTON_LOCK", "True"), True)
logger.info(f"BUTTON_LOCK set to: {BUTTON_LOCK}")
RemoveBG_API = environ.get("RemoveBG_API", "")
logger.info(f"RemoveBG_API set to: {RemoveBG_API}")
# URL shortener
SHORT_URL = environ.get("SHORT_URL")
logger.info(f"SHORT_URL set to: {SHORT_URL}")
SHORT_API = environ.get("SHORT_API")
logger.info(f"SHORT_API set to: {SHORT_API}")
# Others
IMDB_DELET_TIME = int(environ.get('IMDB_DELET_TIME', "300"))
logger.info(f"IMDB_DELET_TIME set to: {IMDB_DELET_TIME}")
LOG_CHANNEL = int(environ.get('LOG_CHANNEL', 0))
logger.info(f"LOG_CHANNEL set to: {LOG_CHANNEL}")
SUPPORT_CHAT = environ.get('SUPPORT_CHAT', 'MKN_BOTZ_DISCUSSION_GROUP')
logger.info(f"SUPPORT_CHAT set to: {SUPPORT_CHAT}")
P_TTI_SHOW_OFF = is_enabled(environ.get('P_TTI_SHOW_OFF', "True"), True)
logger.info(f"P_TTI_SHOW_OFF set to: {P_TTI_SHOW_OFF}")
PM_IMDB = is_enabled(environ.get('PM_IMDB', "True"), True)
logger.info(f"PM_IMDB set to: {PM_IMDB}")
IMDB = is_enabled(environ.get('IMDB', "True"), True)
logger.info(f"IMDB set to: {IMDB}")
SINGLE_BUTTON = is_enabled(environ.get('SINGLE_BUTTON', "True"), True)
logger.info(f"SINGLE_BUTTON set to: {SINGLE_BUTTON}")
CUSTOM_FILE_CAPTION = environ.get("CUSTOM_FILE_CAPTION", "{file_name}")
logger.info(f"CUSTOM_FILE_CAPTION set to: {CUSTOM_FILE_CAPTION}")
BATCH_FILE_CAPTION = environ.get("BATCH_FILE_CAPTION", None)
logger.info(f"BATCH_FILE_CAPTION set to: {BATCH_FILE_CAPTION}")
IMDB_TEMPLATE = environ.get("IMDB_TEMPLATE", script.IMDB_TEMPLATE)
logger.info(f"IMDB_TEMPLATE loaded: {IMDB_TEMPLATE}")
LONG_IMDB_DESCRIPTION = is_enabled(environ.get("LONG_IMDB_DESCRIPTION", "False"), False)
logger.info(f"LONG_IMDB_DESCRIPTION set to: {LONG_IMDB_DESCRIPTION}")
SPELL_CHECK_REPLY = is_enabled(environ.get("SPELL_CHECK_REPLY", "True"), True)
logger.info(f"SPELL_CHECK_REPLY set to: {SPELL_CHECK_REPLY}")
MAX_LIST_ELM = environ.get("MAX_LIST_ELM", None)
logger.info(f"MAX_LIST_ELM set to: {MAX_LIST_ELM}")
FILE_STORE_CHANNEL = [int(ch) for ch in (environ.get('FILE_STORE_CHANNEL', '')).split()]
logger.info(f"FILE_STORE_CHANNEL set to: {FILE_STORE_CHANNEL}")
MELCOW_NEW_USERS = is_enabled(environ.get('MELCOW_NEW_USERS', "True"), True)
logger.info(f"MELCOW_NEW_USERS set to: {MELCOW_NEW_USERS}")
PROTECT_CONTENT = is_enabled(environ.get('PROTECT_CONTENT', "False"), False)
logger.info(f"PROTECT_CONTENT set to: {PROTECT_CONTENT}")
PUBLIC_FILE_STORE = is_enabled(environ.get('PUBLIC_FILE_STORE', "True"), True)
logger.info(f"PUBLIC_FILE_STORE set to: {PUBLIC_FILE_STORE}")
LOG_MSG = "{} Iꜱ Rᴇꜱᴛᴀʀᴛᴇᴅ....✨\n\n🗓️ Dᴀᴛᴇ : {}\n⏰ Tɪᴍᴇ : {}\n\n🖥️ Rᴇᴏᴩ: {}\n🉐 Vᴇʀꜱɪᴏɴ: {}\n🧾 Lɪᴄᴇɴꜱᴇ: {}\n©️ Cᴏᴩʏʀɪɢʜᴛ: {}"
logger.info(f"LOG_MSG template set.")