import re from os import environ from Script import script id_pattern = re.compile(r'^.\d+$') def is_enabled(value, default): if value.lower() in ["true", "yes", "1", "enable", "y"]: return True elif value.lower() in ["false", "no", "0", "disable", "n"]: return False else: return default # Bot information SESSION = environ.get('SESSION', 'Media_search') API_ID = int(environ.get('API_ID', '28888474')) API_HASH = environ.get('API_HASH', 'a89f231abefe45692ae2e921c8659b7d') BOT_TOKEN = environ.get('BOT_TOKEN', "5979446945:AAG7SFjxUsdIIe02dz9OLo2--bA8eZ9mV6U") # Bot settings CACHE_TIME = int(environ.get('CACHE_TIME', 300)) USE_CAPTION_FILTER = bool(environ.get('USE_CAPTION_FILTER', True)) PICS = (environ.get('PICS', 'https://te.legra.ph/file/cce1c345a4a752453a3a3.jpg https://telegra.ph/file/29bc7f30cd147351eb382.jpg https://telegra.ph/file/ca9e882b9f802c338df5b.jpg https://telegra.ph/file/ca6ff682e37dd394ab33b.jpg https://telegra.ph/file/0f7371846cf0e84766c4a.jpg https://telegra.ph/file/1619aba10a6418de3f0e9.jpg https://telegra.ph/file/c1449e2c65c655c0a3b9b.jpg https://telegra.ph/file/ba6ccb9e1fadc405e331c.jpg https://telegra.ph/file/1fc94a48a13aecad89040.jpg https://telegra.ph/file/810ef47b67543fca27451.jpg https://telegra.ph/file/321e3e560f810f01a40ed.jpg https://telegra.ph/file/ab1fd8a644c5c99c1df37.jpg https://telegra.ph/file/c30d4ac307cbe1879da6d.jpg https://telegra.ph/file/d208ed40085cf520758e0.jpg https://telegra.ph/file/4ed762d7dadb3105055d2.jpg https://telegra.ph/file/1391a72c8cbac5bf24e82.jpg https://telegra.ph/file/305f9a35edac3f3374d8e.jpg https://telegra.ph/file/296366c942ea5f7fa303a.jpg https://telegra.ph/file/22dee33038d8b6f110c70.jpg https://telegra.ph/file/8d1067866eed68e1255a4.jpg')).split() NOR_IMG = environ.get("NOR_IMG", "https://te.legra.ph/file/a27dc8fe434e6b846b0f8.jpg") MELCOW_VID = environ.get("MELCOW_VID", "https://te.legra.ph/file/6f55d902f9bf2d0afd4bb.mp4") SPELL_IMG = environ.get("SPELL_IMG", "https://te.legra.ph/file/15c1ad448dfe472a5cbb8.jpg") # MongoDB information DATABASE_URI = environ.get('DATABASE_URI', "mongodb+srv://TTBots:1234@cluster0.ymqvecu.mongodb.net/?retryWrites=true&w=majority") DATABASE_NAME = environ.get('DATABASE_NAME', "Autosearchtamil") COLLECTION_NAME = environ.get('COLLECTION_NAME', 'Telegram_files') # Admins, Channels & Users ADMINS = [int(admin) if id_pattern.search(admin) else admin for admin in environ.get('ADMINS', '1838498574 1019495090').split()] CHANNELS = [int(ch) if id_pattern.search(ch) else ch for ch in environ.get('CHANNELS', '-1001611072522 -1001821933278 -1001833580627').split()] auth_users = [int(user) if id_pattern.search(user) else user for user in environ.get('AUTH_USERS', '').split()] AUTH_USERS = (auth_users + ADMINS) if auth_users else [] PREMIUM_USER = [int(user) if id_pattern.search(user) else user for user in environ.get('PREMIUM_USER', '1246727616').split()] 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 AUTH_GROUPS = [int(ch) for ch in auth_grp.split()] if auth_grp else None ADMIN_GROUPS = [int(admingroups) if id_pattern.search(admingroups) else admingroups for admingroups in environ.get('ADMIN_GROUPS', '-1001714266146 -1001903239017').split()] support_chat_id = environ.get('SUPPORT_CHAT_ID', '-1001268015736') reqst_channel = environ.get('REQST_CHANNEL_ID', '-1001984041373') REQST_CHANNEL = int(reqst_channel) if reqst_channel and id_pattern.search(reqst_channel) else None SUPPORT_CHAT_ID = int(support_chat_id) if support_chat_id and id_pattern.search(support_chat_id) else None NO_RESULTS_MSG = bool(environ.get("NO_RESULTS_MSG", False)) REQ_CHANNEL = environ.get("REQ_CHANNEL", False) REQ_CHANNEL = int(REQ_CHANNEL) if REQ_CHANNEL and id_pattern.search(REQ_CHANNEL) else False JOIN_REQS_DB = environ.get("JOIN_REQS_DB", DATABASE_URI) #group_sub = environ.get('GROUP_SUB') #GROUP_SUB = int(group_sub) if auth_channel and id_pattern.search(group_sub) else None #stream feature - @credit:@TeamHMT_Bots STREAM_BIN = int(environ.get("STREAM_BIN", "-1001874540956")) STREAM_URL = environ.get("STREAM_URL", "https://filestream.ttbots.workers.dev/") # https://example.com/ IS_STREAM = bool(STREAM_BIN and STREAM_URL) # Others VERIFY = bool(environ.get('VERIFY', False)) SHORTLINK_URL = environ.get('SHORTLINK_URL', 'api.shareus.io') SHORTLINK_API = environ.get('SHORTLINK_API', '4c1YTBacB6PTuwogBiEIFvZN5TI3') SECOND_SHORTLINK_URL = environ.get('SECOND_SHORTLINK_URL', 'mplaylink.com') SECOND_SHORTLINK_API = environ.get('SECOND_SHORTLINK_API', '1f1da5c9df9a58058672ac8d8134e203b03426a1') IS_SHORTLINK = bool(environ.get('IS_SHORTLINK', True)) DELETE_CHANNELS = [int(dch) if id_pattern.search(dch) else dch for dch in environ.get('DELETE_CHANNELS', '-1001827948669').split()] MAX_B_TN = environ.get("MAX_B_TN", "5") MAX_BTN = is_enabled((environ.get('MAX_BTN', "True")), True) PORT = environ.get("PORT", "7860") GRP_LNK = environ.get('GRP_LNK', 'https://t.me/+aLArXSwMmKlkN2Nl') CHNL_LNK = environ.get('CHNL_LNK', 'https://t.me/TeamHMT_Bots') TUTORIAL = environ.get('TUTORIAL', 'https://t.me/Team_HMT/8') IS_TUTORIAL = bool(environ.get('IS_TUTORIAL', True)) MSG_ALRT = environ.get('MSG_ALRT', 'Wʜᴀᴛ Aʀᴇ Yᴏᴜ Lᴏᴏᴋɪɴɢ Aᴛ ?') LOG_CHANNEL = int(environ.get('LOG_CHANNEL', '-1001837909538')) SUPPORT_CHAT = environ.get('SUPPORT_CHAT', '+r9ArDaaCETE0OGU9') P_TTI_SHOW_OFF = is_enabled((environ.get('P_TTI_SHOW_OFF', "False")), False) IMDB = is_enabled((environ.get('IMDB', "True")), True) AUTO_FFILTER = is_enabled((environ.get('AUTO_FFILTER', "True")), True) AUTO_DELETE = is_enabled((environ.get('AUTO_DELETE', "True")), True) SINGLE_BUTTON = is_enabled((environ.get('SINGLE_BUTTON', "True")), True) CUSTOM_FILE_CAPTION = environ.get("CUSTOM_FILE_CAPTION", f"{script.CAPTION}") BATCH_FILE_CAPTION = environ.get("BATCH_FILE_CAPTION", CUSTOM_FILE_CAPTION) IMDB_TEMPLATE = environ.get("IMDB_TEMPLATE", f"{script.IMDB_TEMPLATE_TXT}") LONG_IMDB_DESCRIPTION = is_enabled(environ.get("LONG_IMDB_DESCRIPTION", "False"), False) SPELL_CHECK_REPLY = is_enabled(environ.get("SPELL_CHECK_REPLY", "True"), True) MAX_LIST_ELM = environ.get("MAX_LIST_ELM", None) INDEX_REQ_CHANNEL = int(environ.get('INDEX_REQ_CHANNEL', LOG_CHANNEL)) FILE_STORE_CHANNEL = [int(ch) for ch in (environ.get('FILE_STORE_CHANNEL', '')).split()] MELCOW_NEW_USERS = is_enabled((environ.get('MELCOW_NEW_USERS', "True")), True) PROTECT_CONTENT = is_enabled((environ.get('PROTECT_CONTENT', "False")), False) PUBLIC_FILE_STORE = is_enabled((environ.get('PUBLIC_FILE_STORE', "True")), True) LANGUAGES = ["malayalam", "mal", "tamil", "tam" ,"english", "eng", "hindi", "hin", "telugu", "tel", "kannada", "kan"] SEASONS = ["season 1" , "season 2" , "season 3" , "season 4", "season 5" , "season 6" , "season 7" , "season 8" , "season 9" , "season 10"] LOG_STR = "Current Cusomized Configurations are:-\n" LOG_STR += ("IMDB Results are enabled, Bot will be showing imdb details for you queries.\n" if IMDB else "IMBD Results are disabled.\n") LOG_STR += ("P_TTI_SHOW_OFF found , Users will be redirected to send /start to Bot PM instead of sending file file directly\n" if P_TTI_SHOW_OFF else "P_TTI_SHOW_OFF is disabled files will be send in PM, instead of sending start.\n") LOG_STR += ("SINGLE_BUTTON is Found, filename and files size will be shown in a single button instead of two separate buttons\n" if SINGLE_BUTTON else "SINGLE_BUTTON is disabled , filename and file_sixe will be shown as different buttons\n") LOG_STR += (f"CUSTOM_FILE_CAPTION enabled with value {CUSTOM_FILE_CAPTION}, your files will be send along with this customized caption.\n" if CUSTOM_FILE_CAPTION else "No CUSTOM_FILE_CAPTION Found, Default captions of file will be used.\n") LOG_STR += ("Long IMDB storyline enabled." if LONG_IMDB_DESCRIPTION else "LONG_IMDB_DESCRIPTION is disabled , Plot will be shorter.\n") LOG_STR += ("Spell Check Mode Is Enabled, bot will be suggesting related movies if movie not found\n" if SPELL_CHECK_REPLY else "SPELL_CHECK_REPLY Mode disabled\n") LOG_STR += (f"MAX_LIST_ELM Found, long list will be shortened to first {MAX_LIST_ELM} elements\n" if MAX_LIST_ELM else "Full List of casts and crew will be shown in imdb template, restrict them by adding a value to MAX_LIST_ELM\n") LOG_STR += f"Your current IMDB template is {IMDB_TEMPLATE}"