Update info.py
Browse files
info.py
CHANGED
@@ -1,88 +1,176 @@
|
|
1 |
import re, time
|
2 |
from os import environ
|
3 |
-
from Script import script
|
4 |
-
import logging
|
5 |
-
|
6 |
-
|
7 |
|
8 |
logger = logging.getLogger(__name__)
|
9 |
-
logger.
|
10 |
|
11 |
id_pattern = re.compile(r'^.\d+$')
|
12 |
|
13 |
def is_enabled(value, default):
|
|
|
|
|
|
|
14 |
if value.strip().lower() in ["on", "true", "yes", "1", "enable", "y"]:
|
15 |
-
logger.debug(f"Value {value} is enabled.")
|
16 |
return True
|
17 |
elif value.strip().lower() in ["off", "false", "no", "0", "disable", "n"]:
|
18 |
-
logger.debug(f"Value {value} is disabled.")
|
19 |
return False
|
20 |
else:
|
21 |
-
logger.debug(f"Value {value}
|
22 |
return default
|
23 |
|
24 |
# PyroClient Setup
|
25 |
API_ID = int(environ['API_ID'])
|
|
|
|
|
26 |
API_HASH = environ['API_HASH']
|
|
|
|
|
27 |
BOT_TOKEN = environ['BOT_TOKEN']
|
|
|
28 |
|
29 |
# Bot settings
|
30 |
WEB_SUPPORT = bool(environ.get("WEBHOOK", 'True')) # for web support on/off
|
|
|
|
|
31 |
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()
|
|
|
|
|
32 |
UPTIME = time.time()
|
|
|
33 |
|
34 |
# Admins, Channels & Users
|
35 |
CACHE_TIME = int(environ.get('CACHE_TIME', 300))
|
|
|
|
|
36 |
ADMINS = [int(admin) if id_pattern.search(admin) else admin for admin in environ.get('ADMINS', '').split()]
|
|
|
|
|
37 |
CHANNELS = [int(ch) if id_pattern.search(ch) else ch for ch in environ.get('CHANNELS', '0').split()]
|
|
|
|
|
38 |
auth_users = [int(user) if id_pattern.search(user) else user for user in environ.get('AUTH_USERS', '').split()]
|
|
|
|
|
39 |
AUTH_USERS = (auth_users + ADMINS) if auth_users else []
|
|
|
|
|
40 |
auth_channel = environ.get('AUTH_CHANNEL')
|
41 |
auth_grp = environ.get('AUTH_GROUP')
|
|
|
42 |
AUTH_CHANNEL = int(auth_channel) if auth_channel and id_pattern.search(auth_channel) else None
|
|
|
|
|
43 |
AUTH_GROUPS = [int(ch) for ch in auth_grp.split()] if auth_grp else None
|
|
|
44 |
|
45 |
# MongoDB information
|
46 |
DATABASE_URL = environ.get('DATABASE_URL', "")
|
|
|
|
|
47 |
DATABASE_NAME = environ.get('DATABASE_NAME', "Cluster0")
|
|
|
|
|
48 |
FILE_DB_URL = environ.get("FILE_DB_URL", DATABASE_URL)
|
|
|
|
|
49 |
FILE_DB_NAME = environ.get("FILE_DB_NAME", DATABASE_NAME)
|
|
|
|
|
50 |
COLLECTION_NAME = environ.get('COLLECTION_NAME', 'Telegram_files')
|
|
|
51 |
|
52 |
# Filters Configuration
|
53 |
MAX_RIST_BTNS = int(environ.get('MAX_RIST_BTNS', "10"))
|
|
|
|
|
54 |
START_MESSAGE = environ.get('START_MESSAGE', script.START_TXT)
|
|
|
|
|
55 |
BUTTON_LOCK_TEXT = environ.get("BUTTON_LOCK_TEXT", script.BUTTON_LOCK_TEXT)
|
|
|
|
|
56 |
FORCE_SUB_TEXT = environ.get('FORCE_SUB_TEXT', script.FORCE_SUB_TEXT)
|
|
|
57 |
|
58 |
WELCOM_PIC = environ.get("WELCOM_PIC", "")
|
|
|
|
|
59 |
WELCOM_TEXT = environ.get("WELCOM_TEXT", script.WELCOM_TEXT)
|
|
|
|
|
60 |
PMFILTER = is_enabled(environ.get('PMFILTER', "True"), True)
|
|
|
|
|
61 |
G_FILTER = is_enabled(environ.get("G_FILTER", "True"), True)
|
|
|
|
|
62 |
BUTTON_LOCK = is_enabled(environ.get("BUTTON_LOCK", "True"), True)
|
|
|
|
|
63 |
RemoveBG_API = environ.get("RemoveBG_API", "")
|
|
|
64 |
|
65 |
-
#
|
66 |
SHORT_URL = environ.get("SHORT_URL")
|
|
|
|
|
67 |
SHORT_API = environ.get("SHORT_API")
|
|
|
68 |
|
69 |
# Others
|
70 |
IMDB_DELET_TIME = int(environ.get('IMDB_DELET_TIME', "300"))
|
|
|
|
|
71 |
LOG_CHANNEL = int(environ.get('LOG_CHANNEL', 0))
|
|
|
|
|
72 |
SUPPORT_CHAT = environ.get('SUPPORT_CHAT', 'MKN_BOTZ_DISCUSSION_GROUP')
|
|
|
|
|
73 |
P_TTI_SHOW_OFF = is_enabled(environ.get('P_TTI_SHOW_OFF', "True"), True)
|
|
|
|
|
74 |
PM_IMDB = is_enabled(environ.get('PM_IMDB', "True"), True)
|
|
|
|
|
75 |
IMDB = is_enabled(environ.get('IMDB', "True"), True)
|
|
|
|
|
76 |
SINGLE_BUTTON = is_enabled(environ.get('SINGLE_BUTTON', "True"), True)
|
|
|
|
|
77 |
CUSTOM_FILE_CAPTION = environ.get("CUSTOM_FILE_CAPTION", "{file_name}")
|
|
|
|
|
78 |
BATCH_FILE_CAPTION = environ.get("BATCH_FILE_CAPTION", None)
|
|
|
|
|
79 |
IMDB_TEMPLATE = environ.get("IMDB_TEMPLATE", script.IMDB_TEMPLATE)
|
|
|
|
|
80 |
LONG_IMDB_DESCRIPTION = is_enabled(environ.get("LONG_IMDB_DESCRIPTION", "False"), False)
|
|
|
|
|
81 |
SPELL_CHECK_REPLY = is_enabled(environ.get("SPELL_CHECK_REPLY", "True"), True)
|
|
|
|
|
82 |
MAX_LIST_ELM = environ.get("MAX_LIST_ELM", None)
|
|
|
|
|
83 |
FILE_STORE_CHANNEL = [int(ch) for ch in (environ.get('FILE_STORE_CHANNEL', '')).split()]
|
|
|
|
|
84 |
MELCOW_NEW_USERS = is_enabled(environ.get('MELCOW_NEW_USERS', "True"), True)
|
|
|
|
|
85 |
PROTECT_CONTENT = is_enabled(environ.get('PROTECT_CONTENT', "False"), False)
|
|
|
|
|
86 |
PUBLIC_FILE_STORE = is_enabled(environ.get('PUBLIC_FILE_STORE', "True"), True)
|
|
|
|
|
87 |
LOG_MSG = "{} Iꜱ Rᴇꜱᴛᴀʀᴛᴇᴅ....✨\n\n🗓️ Dᴀᴛᴇ : {}\n⏰ Tɪᴍᴇ : {}\n\n🖥️ Rᴇᴏᴩ: {}\n🉐 Vᴇʀꜱɪᴏɴ: {}\n🧾 Lɪᴄᴇɴꜱᴇ: {}\n©️ Cᴏᴩʏʀɪɢʜᴛ: {}"
|
88 |
-
logger.info("
|
|
|
1 |
import re, time
|
2 |
from os import environ
|
3 |
+
from Script import script
|
|
|
|
|
|
|
4 |
|
5 |
logger = logging.getLogger(__name__)
|
6 |
+
logger.setLevel(logging.INFO)
|
7 |
|
8 |
id_pattern = re.compile(r'^.\d+$')
|
9 |
|
10 |
def is_enabled(value, default):
|
11 |
+
"""
|
12 |
+
Check if a given value is enabled based on common enable/disable keywords.
|
13 |
+
"""
|
14 |
if value.strip().lower() in ["on", "true", "yes", "1", "enable", "y"]:
|
15 |
+
logger.debug(f"Value '{value}' is enabled.")
|
16 |
return True
|
17 |
elif value.strip().lower() in ["off", "false", "no", "0", "disable", "n"]:
|
18 |
+
logger.debug(f"Value '{value}' is disabled.")
|
19 |
return False
|
20 |
else:
|
21 |
+
logger.debug(f"Value '{value}' does not match known patterns, returning default '{default}'.")
|
22 |
return default
|
23 |
|
24 |
# PyroClient Setup
|
25 |
API_ID = int(environ['API_ID'])
|
26 |
+
logger.info(f"API_ID loaded: {API_ID}")
|
27 |
+
|
28 |
API_HASH = environ['API_HASH']
|
29 |
+
logger.info(f"API_HASH loaded.")
|
30 |
+
|
31 |
BOT_TOKEN = environ['BOT_TOKEN']
|
32 |
+
logger.info(f"BOT_TOKEN loaded.")
|
33 |
|
34 |
# Bot settings
|
35 |
WEB_SUPPORT = bool(environ.get("WEBHOOK", 'True')) # for web support on/off
|
36 |
+
logger.info(f"WEB_SUPPORT set to: {WEB_SUPPORT}")
|
37 |
+
|
38 |
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()
|
39 |
+
logger.info(f"PICS loaded: {PICS}")
|
40 |
+
|
41 |
UPTIME = time.time()
|
42 |
+
logger.info(f"UPTIME set to: {UPTIME}")
|
43 |
|
44 |
# Admins, Channels & Users
|
45 |
CACHE_TIME = int(environ.get('CACHE_TIME', 300))
|
46 |
+
logger.info(f"CACHE_TIME set to: {CACHE_TIME}")
|
47 |
+
|
48 |
ADMINS = [int(admin) if id_pattern.search(admin) else admin for admin in environ.get('ADMINS', '').split()]
|
49 |
+
logger.info(f"ADMINS loaded: {ADMINS}")
|
50 |
+
|
51 |
CHANNELS = [int(ch) if id_pattern.search(ch) else ch for ch in environ.get('CHANNELS', '0').split()]
|
52 |
+
logger.info(f"CHANNELS loaded: {CHANNELS}")
|
53 |
+
|
54 |
auth_users = [int(user) if id_pattern.search(user) else user for user in environ.get('AUTH_USERS', '').split()]
|
55 |
+
logger.info(f"AUTH_USERS loaded: {auth_users}")
|
56 |
+
|
57 |
AUTH_USERS = (auth_users + ADMINS) if auth_users else []
|
58 |
+
logger.info(f"Final AUTH_USERS set: {AUTH_USERS}")
|
59 |
+
|
60 |
auth_channel = environ.get('AUTH_CHANNEL')
|
61 |
auth_grp = environ.get('AUTH_GROUP')
|
62 |
+
|
63 |
AUTH_CHANNEL = int(auth_channel) if auth_channel and id_pattern.search(auth_channel) else None
|
64 |
+
logger.info(f"AUTH_CHANNEL set to: {AUTH_CHANNEL}")
|
65 |
+
|
66 |
AUTH_GROUPS = [int(ch) for ch in auth_grp.split()] if auth_grp else None
|
67 |
+
logger.info(f"AUTH_GROUPS set to: {AUTH_GROUPS}")
|
68 |
|
69 |
# MongoDB information
|
70 |
DATABASE_URL = environ.get('DATABASE_URL', "")
|
71 |
+
logger.info(f"DATABASE_URL loaded: {DATABASE_URL}")
|
72 |
+
|
73 |
DATABASE_NAME = environ.get('DATABASE_NAME', "Cluster0")
|
74 |
+
logger.info(f"DATABASE_NAME set to: {DATABASE_NAME}")
|
75 |
+
|
76 |
FILE_DB_URL = environ.get("FILE_DB_URL", DATABASE_URL)
|
77 |
+
logger.info(f"FILE_DB_URL set to: {FILE_DB_URL}")
|
78 |
+
|
79 |
FILE_DB_NAME = environ.get("FILE_DB_NAME", DATABASE_NAME)
|
80 |
+
logger.info(f"FILE_DB_NAME set to: {FILE_DB_NAME}")
|
81 |
+
|
82 |
COLLECTION_NAME = environ.get('COLLECTION_NAME', 'Telegram_files')
|
83 |
+
logger.info(f"COLLECTION_NAME set to: {COLLECTION_NAME}")
|
84 |
|
85 |
# Filters Configuration
|
86 |
MAX_RIST_BTNS = int(environ.get('MAX_RIST_BTNS', "10"))
|
87 |
+
logger.info(f"MAX_RIST_BTNS set to: {MAX_RIST_BTNS}")
|
88 |
+
|
89 |
START_MESSAGE = environ.get('START_MESSAGE', script.START_TXT)
|
90 |
+
logger.info(f"START_MESSAGE loaded: {START_MESSAGE}")
|
91 |
+
|
92 |
BUTTON_LOCK_TEXT = environ.get("BUTTON_LOCK_TEXT", script.BUTTON_LOCK_TEXT)
|
93 |
+
logger.info(f"BUTTON_LOCK_TEXT loaded: {BUTTON_LOCK_TEXT}")
|
94 |
+
|
95 |
FORCE_SUB_TEXT = environ.get('FORCE_SUB_TEXT', script.FORCE_SUB_TEXT)
|
96 |
+
logger.info(f"FORCE_SUB_TEXT loaded: {FORCE_SUB_TEXT}")
|
97 |
|
98 |
WELCOM_PIC = environ.get("WELCOM_PIC", "")
|
99 |
+
logger.info(f"WELCOM_PIC set to: {WELCOM_PIC}")
|
100 |
+
|
101 |
WELCOM_TEXT = environ.get("WELCOM_TEXT", script.WELCOM_TEXT)
|
102 |
+
logger.info(f"WELCOM_TEXT loaded: {WELCOM_TEXT}")
|
103 |
+
|
104 |
PMFILTER = is_enabled(environ.get('PMFILTER', "True"), True)
|
105 |
+
logger.info(f"PMFILTER set to: {PMFILTER}")
|
106 |
+
|
107 |
G_FILTER = is_enabled(environ.get("G_FILTER", "True"), True)
|
108 |
+
logger.info(f"G_FILTER set to: {G_FILTER}")
|
109 |
+
|
110 |
BUTTON_LOCK = is_enabled(environ.get("BUTTON_LOCK", "True"), True)
|
111 |
+
logger.info(f"BUTTON_LOCK set to: {BUTTON_LOCK}")
|
112 |
+
|
113 |
RemoveBG_API = environ.get("RemoveBG_API", "")
|
114 |
+
logger.info(f"RemoveBG_API set to: {RemoveBG_API}")
|
115 |
|
116 |
+
# URL shortener
|
117 |
SHORT_URL = environ.get("SHORT_URL")
|
118 |
+
logger.info(f"SHORT_URL set to: {SHORT_URL}")
|
119 |
+
|
120 |
SHORT_API = environ.get("SHORT_API")
|
121 |
+
logger.info(f"SHORT_API set to: {SHORT_API}")
|
122 |
|
123 |
# Others
|
124 |
IMDB_DELET_TIME = int(environ.get('IMDB_DELET_TIME', "300"))
|
125 |
+
logger.info(f"IMDB_DELET_TIME set to: {IMDB_DELET_TIME}")
|
126 |
+
|
127 |
LOG_CHANNEL = int(environ.get('LOG_CHANNEL', 0))
|
128 |
+
logger.info(f"LOG_CHANNEL set to: {LOG_CHANNEL}")
|
129 |
+
|
130 |
SUPPORT_CHAT = environ.get('SUPPORT_CHAT', 'MKN_BOTZ_DISCUSSION_GROUP')
|
131 |
+
logger.info(f"SUPPORT_CHAT set to: {SUPPORT_CHAT}")
|
132 |
+
|
133 |
P_TTI_SHOW_OFF = is_enabled(environ.get('P_TTI_SHOW_OFF', "True"), True)
|
134 |
+
logger.info(f"P_TTI_SHOW_OFF set to: {P_TTI_SHOW_OFF}")
|
135 |
+
|
136 |
PM_IMDB = is_enabled(environ.get('PM_IMDB', "True"), True)
|
137 |
+
logger.info(f"PM_IMDB set to: {PM_IMDB}")
|
138 |
+
|
139 |
IMDB = is_enabled(environ.get('IMDB', "True"), True)
|
140 |
+
logger.info(f"IMDB set to: {IMDB}")
|
141 |
+
|
142 |
SINGLE_BUTTON = is_enabled(environ.get('SINGLE_BUTTON', "True"), True)
|
143 |
+
logger.info(f"SINGLE_BUTTON set to: {SINGLE_BUTTON}")
|
144 |
+
|
145 |
CUSTOM_FILE_CAPTION = environ.get("CUSTOM_FILE_CAPTION", "{file_name}")
|
146 |
+
logger.info(f"CUSTOM_FILE_CAPTION set to: {CUSTOM_FILE_CAPTION}")
|
147 |
+
|
148 |
BATCH_FILE_CAPTION = environ.get("BATCH_FILE_CAPTION", None)
|
149 |
+
logger.info(f"BATCH_FILE_CAPTION set to: {BATCH_FILE_CAPTION}")
|
150 |
+
|
151 |
IMDB_TEMPLATE = environ.get("IMDB_TEMPLATE", script.IMDB_TEMPLATE)
|
152 |
+
logger.info(f"IMDB_TEMPLATE loaded: {IMDB_TEMPLATE}")
|
153 |
+
|
154 |
LONG_IMDB_DESCRIPTION = is_enabled(environ.get("LONG_IMDB_DESCRIPTION", "False"), False)
|
155 |
+
logger.info(f"LONG_IMDB_DESCRIPTION set to: {LONG_IMDB_DESCRIPTION}")
|
156 |
+
|
157 |
SPELL_CHECK_REPLY = is_enabled(environ.get("SPELL_CHECK_REPLY", "True"), True)
|
158 |
+
logger.info(f"SPELL_CHECK_REPLY set to: {SPELL_CHECK_REPLY}")
|
159 |
+
|
160 |
MAX_LIST_ELM = environ.get("MAX_LIST_ELM", None)
|
161 |
+
logger.info(f"MAX_LIST_ELM set to: {MAX_LIST_ELM}")
|
162 |
+
|
163 |
FILE_STORE_CHANNEL = [int(ch) for ch in (environ.get('FILE_STORE_CHANNEL', '')).split()]
|
164 |
+
logger.info(f"FILE_STORE_CHANNEL set to: {FILE_STORE_CHANNEL}")
|
165 |
+
|
166 |
MELCOW_NEW_USERS = is_enabled(environ.get('MELCOW_NEW_USERS', "True"), True)
|
167 |
+
logger.info(f"MELCOW_NEW_USERS set to: {MELCOW_NEW_USERS}")
|
168 |
+
|
169 |
PROTECT_CONTENT = is_enabled(environ.get('PROTECT_CONTENT', "False"), False)
|
170 |
+
logger.info(f"PROTECT_CONTENT set to: {PROTECT_CONTENT}")
|
171 |
+
|
172 |
PUBLIC_FILE_STORE = is_enabled(environ.get('PUBLIC_FILE_STORE', "True"), True)
|
173 |
+
logger.info(f"PUBLIC_FILE_STORE set to: {PUBLIC_FILE_STORE}")
|
174 |
+
|
175 |
LOG_MSG = "{} Iꜱ Rᴇꜱᴛᴀʀᴛᴇᴅ....✨\n\n🗓️ Dᴀᴛᴇ : {}\n⏰ Tɪᴍᴇ : {}\n\n🖥️ Rᴇᴏᴩ: {}\n🉐 Vᴇʀꜱɪᴏɴ: {}\n🧾 Lɪᴄᴇɴꜱᴇ: {}\n©️ Cᴏᴩʏʀɪɢʜᴛ: {}"
|
176 |
+
logger.info(f"LOG_MSG template set.")
|