File size: 7,173 Bytes
bc96bf6 ec24045 f218229 fe363c4 ec24045 bc96bf6 ec24045 fe363c4 ec24045 fe363c4 ec24045 fe363c4 ec24045 fe363c4 bc96bf6 ec24045 bc96bf6 ec24045 bc96bf6 ec24045 bc96bf6 ec24045 bc96bf6 ec24045 bc96bf6 ec24045 bc96bf6 ec24045 bc96bf6 ec24045 bc96bf6 ec24045 bc96bf6 ec24045 bc96bf6 ec24045 bc96bf6 ec24045 bc96bf6 ec24045 bc96bf6 ec24045 bc96bf6 ec24045 bc96bf6 ec24045 bc96bf6 ec24045 bc96bf6 ec24045 bc96bf6 ec24045 bc96bf6 ec24045 bc96bf6 ec24045 bc96bf6 ec24045 bc96bf6 ec24045 bc96bf6 ec24045 bc96bf6 ec24045 bc96bf6 ec24045 bc96bf6 ec24045 bc96bf6 ec24045 bc96bf6 ec24045 bc96bf6 ec24045 bc96bf6 ec24045 bc96bf6 ec24045 bc96bf6 ec24045 bc96bf6 ec24045 bc96bf6 ec24045 bc96bf6 ec24045 bc96bf6 ec24045 bc96bf6 ec24045 bc96bf6 ec24045 bc96bf6 ec24045 bc96bf6 ec24045 bc96bf6 ec24045 bc96bf6 ec24045 bc96bf6 ec24045 bc96bf6 ec24045 bc96bf6 ec24045 bc96bf6 ec24045 bc96bf6 ec24045 bc96bf6 ec24045 fe363c4 ec24045 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 |
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.") |