Spaces:
Sleeping
Sleeping
Captain Ezio
commited on
Commit
·
83fe5dc
1
Parent(s):
b8637a4
Fixed bug related to support user
Browse files- Powers/__init__.py +2 -3
- Powers/bot_class.py +6 -3
- Powers/plugins/admin.py +5 -4
- Powers/plugins/antispam.py +4 -4
- Powers/plugins/auto_join.py +3 -2
- Powers/plugins/bans.py +11 -11
- Powers/plugins/captcha.py +3 -2
- Powers/plugins/dev.py +8 -9
- Powers/plugins/flood.py +4 -3
- Powers/plugins/fun.py +2 -2
- Powers/plugins/greetings.py +4 -3
- Powers/plugins/info.py +7 -6
- Powers/plugins/locks.py +3 -2
- Powers/plugins/muting.py +8 -7
- Powers/plugins/report.py +3 -2
- Powers/plugins/start.py +7 -7
- Powers/plugins/utils.py +6 -5
- Powers/plugins/warns.py +6 -5
- Powers/plugins/watchers.py +3 -2
- Powers/supports.py +17 -18
- Powers/utils/admin_check.py +4 -3
- Powers/utils/custom_filters.py +6 -5
Powers/__init__.py
CHANGED
@@ -119,9 +119,8 @@ SUPPORT_CHANNEL = Config.SUPPORT_CHANNEL
|
|
119 |
|
120 |
# Users Config
|
121 |
OWNER_ID = Config.OWNER_ID
|
122 |
-
|
123 |
-
|
124 |
-
WHITELIST_USERS = set(Config.WHITELIST_USERS)
|
125 |
|
126 |
# Plugins, DB and Workers
|
127 |
DB_URI = Config.DB_URI
|
|
|
119 |
|
120 |
# Users Config
|
121 |
OWNER_ID = Config.OWNER_ID
|
122 |
+
SUPPORT_USERS = {"Owner": [Config.OWNER_ID], "Dev": set(Config.DEV_USERS), "Sudo": set(Config.SUDO_USERS), "White": set(Config.WHITELIST_USERS)}
|
123 |
+
|
|
|
124 |
|
125 |
# Plugins, DB and Workers
|
126 |
DB_URI = Config.DB_URI
|
Powers/bot_class.py
CHANGED
@@ -7,9 +7,9 @@ from pyrogram import Client, __version__
|
|
7 |
from pyrogram.raw.all import layer
|
8 |
from pyrogram.types import BotCommand
|
9 |
|
10 |
-
from Powers import (API_HASH, API_ID, BOT_TOKEN, LOG_DATETIME,
|
11 |
-
|
12 |
-
|
13 |
from Powers.database import MongoDB
|
14 |
from Powers.plugins import all_plugins
|
15 |
from Powers.plugins.scheduled_jobs import *
|
@@ -69,6 +69,9 @@ class Gojo(Client):
|
|
69 |
cmd_list = await load_cmds(await all_plugins())
|
70 |
await load_support_users()
|
71 |
await cache_support()
|
|
|
|
|
|
|
72 |
LOGGER.info(f"Plugins Loaded: {cmd_list}")
|
73 |
if BDB_URI:
|
74 |
scheduler.add_job(send_wishish, 'cron', [
|
|
|
7 |
from pyrogram.raw.all import layer
|
8 |
from pyrogram.types import BotCommand
|
9 |
|
10 |
+
from Powers import (API_HASH, API_ID, BOT_TOKEN, LOG_DATETIME, LOGFILE, LOGGER,
|
11 |
+
MESSAGE_DUMP, NO_LOAD, UPTIME, WORKERS, load_cmds,
|
12 |
+
scheduler)
|
13 |
from Powers.database import MongoDB
|
14 |
from Powers.plugins import all_plugins
|
15 |
from Powers.plugins.scheduled_jobs import *
|
|
|
69 |
cmd_list = await load_cmds(await all_plugins())
|
70 |
await load_support_users()
|
71 |
await cache_support()
|
72 |
+
LOGGER.info(f"Dev Users: {SUPPORT_USERS['Dev']}")
|
73 |
+
LOGGER.info(f"Sudo Users: {SUPPORT_USERS['Sudo']}")
|
74 |
+
LOGGER.info(f"Whitelist users: {SUPPORT_USERS['White']}")
|
75 |
LOGGER.info(f"Plugins Loaded: {cmd_list}")
|
76 |
if BDB_URI:
|
77 |
scheduler.add_job(send_wishish, 'cron', [
|
Powers/plugins/admin.py
CHANGED
@@ -11,11 +11,12 @@ from pyrogram.errors import (BotChannelsNa, ChatAdminInviteRequired,
|
|
11 |
RPCError, UserAdminInvalid)
|
12 |
from pyrogram.types import ChatPrivileges, Message
|
13 |
|
14 |
-
from Powers import
|
15 |
from Powers.bot_class import Gojo
|
16 |
from Powers.database.approve_db import Approve
|
17 |
from Powers.database.reporting_db import Reporting
|
18 |
-
from Powers.
|
|
|
19 |
from Powers.utils.custom_filters import admin_filter, command, promote_filter
|
20 |
from Powers.utils.extract_user import extract_user
|
21 |
from Powers.utils.parser import mention_html
|
@@ -110,7 +111,7 @@ async def reload_admins(_, m: Message):
|
|
110 |
return await m.reply_text(
|
111 |
"This command is made to be used in groups only!",
|
112 |
)
|
113 |
-
SUPPORT_STAFF =
|
114 |
if (
|
115 |
(m.chat.id in set(TEMP_ADMIN_CACHE_BLOCK.keys()))
|
116 |
and (m.from_user.id not in SUPPORT_STAFF)
|
@@ -420,7 +421,7 @@ async def demote_usr(c: Gojo, m: Message):
|
|
420 |
async def get_invitelink(c: Gojo, m: Message):
|
421 |
# Bypass the bot devs, sudos and owner
|
422 |
|
423 |
-
DEV_LEVEL =
|
424 |
if m.from_user.id not in DEV_LEVEL:
|
425 |
user = await m.chat.get_member(m.from_user.id)
|
426 |
if not user.privileges.can_invite_users and user.status != CMS.OWNER:
|
|
|
11 |
RPCError, UserAdminInvalid)
|
12 |
from pyrogram.types import ChatPrivileges, Message
|
13 |
|
14 |
+
from Powers import LOGGER, OWNER_ID
|
15 |
from Powers.bot_class import Gojo
|
16 |
from Powers.database.approve_db import Approve
|
17 |
from Powers.database.reporting_db import Reporting
|
18 |
+
from Powers.supports import get_support_staff
|
19 |
+
from Powers.utils.caching import admin_cache_reload
|
20 |
from Powers.utils.custom_filters import admin_filter, command, promote_filter
|
21 |
from Powers.utils.extract_user import extract_user
|
22 |
from Powers.utils.parser import mention_html
|
|
|
111 |
return await m.reply_text(
|
112 |
"This command is made to be used in groups only!",
|
113 |
)
|
114 |
+
SUPPORT_STAFF = get_support_staff()
|
115 |
if (
|
116 |
(m.chat.id in set(TEMP_ADMIN_CACHE_BLOCK.keys()))
|
117 |
and (m.from_user.id not in SUPPORT_STAFF)
|
|
|
421 |
async def get_invitelink(c: Gojo, m: Message):
|
422 |
# Bypass the bot devs, sudos and owner
|
423 |
|
424 |
+
DEV_LEVEL = get_support_staff("dev_level")
|
425 |
if m.from_user.id not in DEV_LEVEL:
|
426 |
user = await m.chat.get_member(m.from_user.id)
|
427 |
if not user.privileges.can_invite_users and user.status != CMS.OWNER:
|
Powers/plugins/antispam.py
CHANGED
@@ -5,11 +5,11 @@ from traceback import format_exc
|
|
5 |
from pyrogram.errors import MessageTooLong, PeerIdInvalid, UserIsBlocked
|
6 |
from pyrogram.types import Message
|
7 |
|
8 |
-
from Powers import
|
9 |
-
WHITELIST_USERS)
|
10 |
from Powers.bot_class import Gojo
|
11 |
from Powers.database.antispam_db import GBan
|
12 |
from Powers.database.users_db import Users
|
|
|
13 |
from Powers.utils.clean_file import remove_markdown_and_html
|
14 |
from Powers.utils.custom_filters import command
|
15 |
from Powers.utils.extract_user import extract_user
|
@@ -38,7 +38,7 @@ async def gban(c: Gojo, m: Message):
|
|
38 |
else:
|
39 |
gban_reason = m.text.split(None, 2)[2]
|
40 |
|
41 |
-
SUPPORT_STAFF =
|
42 |
|
43 |
if user_id in SUPPORT_STAFF:
|
44 |
await m.reply_text(text="This user is part of my Support!, Can't ban our own!")
|
@@ -96,7 +96,7 @@ async def ungban(c: Gojo, m: Message):
|
|
96 |
|
97 |
user_id, user_first_name, _ = await extract_user(c, m)
|
98 |
|
99 |
-
SUPPORT_STAFF =
|
100 |
|
101 |
if user_id in SUPPORT_STAFF:
|
102 |
await m.reply_text(text="This user is part of my Support!, Can't ban our own!")
|
|
|
5 |
from pyrogram.errors import MessageTooLong, PeerIdInvalid, UserIsBlocked
|
6 |
from pyrogram.types import Message
|
7 |
|
8 |
+
from Powers import LOGGER, MESSAGE_DUMP, SUPPORT_GROUP
|
|
|
9 |
from Powers.bot_class import Gojo
|
10 |
from Powers.database.antispam_db import GBan
|
11 |
from Powers.database.users_db import Users
|
12 |
+
from Powers.supports import get_support_staff
|
13 |
from Powers.utils.clean_file import remove_markdown_and_html
|
14 |
from Powers.utils.custom_filters import command
|
15 |
from Powers.utils.extract_user import extract_user
|
|
|
38 |
else:
|
39 |
gban_reason = m.text.split(None, 2)[2]
|
40 |
|
41 |
+
SUPPORT_STAFF = get_support_staff()
|
42 |
|
43 |
if user_id in SUPPORT_STAFF:
|
44 |
await m.reply_text(text="This user is part of my Support!, Can't ban our own!")
|
|
|
96 |
|
97 |
user_id, user_first_name, _ = await extract_user(c, m)
|
98 |
|
99 |
+
SUPPORT_STAFF = get_support_staff()
|
100 |
|
101 |
if user_id in SUPPORT_STAFF:
|
102 |
await m.reply_text(text="This user is part of my Support!, Can't ban our own!")
|
Powers/plugins/auto_join.py
CHANGED
@@ -7,9 +7,10 @@ from pyrogram.types import InlineKeyboardButton as ikb
|
|
7 |
from pyrogram.types import InlineKeyboardMarkup as ikm
|
8 |
from pyrogram.types import Message
|
9 |
|
10 |
-
from Powers import
|
11 |
from Powers.bot_class import Gojo
|
12 |
from Powers.database.autojoin_db import AUTOJOIN
|
|
|
13 |
from Powers.utils.custom_filters import admin_filter, auto_join_filter, command
|
14 |
|
15 |
|
@@ -85,7 +86,7 @@ async def join_request_handler(c: Gojo, j: ChatJoinRequest):
|
|
85 |
chat = j.chat.id
|
86 |
aj = AUTOJOIN()
|
87 |
join_type = aj.get_autojoin(chat)
|
88 |
-
SUPPORT_STAFF =
|
89 |
|
90 |
if not join_type:
|
91 |
return
|
|
|
7 |
from pyrogram.types import InlineKeyboardMarkup as ikm
|
8 |
from pyrogram.types import Message
|
9 |
|
10 |
+
from Powers import LOGGER
|
11 |
from Powers.bot_class import Gojo
|
12 |
from Powers.database.autojoin_db import AUTOJOIN
|
13 |
+
from Powers.supports import get_support_staff
|
14 |
from Powers.utils.custom_filters import admin_filter, auto_join_filter, command
|
15 |
|
16 |
|
|
|
86 |
chat = j.chat.id
|
87 |
aj = AUTOJOIN()
|
88 |
join_type = aj.get_autojoin(chat)
|
89 |
+
SUPPORT_STAFF = get_support_staff()
|
90 |
|
91 |
if not join_type:
|
92 |
return
|
Powers/plugins/bans.py
CHANGED
@@ -9,9 +9,9 @@ from pyrogram.types import (CallbackQuery, ChatPrivileges,
|
|
9 |
InlineKeyboardButton, InlineKeyboardMarkup,
|
10 |
Message)
|
11 |
|
12 |
-
from Powers import
|
13 |
-
WHITELIST_USERS)
|
14 |
from Powers.bot_class import Gojo
|
|
|
15 |
from Powers.utils.caching import ADMIN_CACHE, admin_cache_reload
|
16 |
from Powers.utils.custom_filters import command, restrict_filter
|
17 |
from Powers.utils.extract_user import extract_user
|
@@ -38,7 +38,7 @@ async def tban_usr(c: Gojo, m: Message):
|
|
38 |
await m.reply_text("WTF?? Why would I ban myself?")
|
39 |
await m.stop_propagation()
|
40 |
|
41 |
-
SUPPORT_STAFF =
|
42 |
|
43 |
if user_id in SUPPORT_STAFF:
|
44 |
await m.reply_text(
|
@@ -158,7 +158,7 @@ async def stban_usr(c: Gojo, m: Message):
|
|
158 |
await m.reply_text(text="I can't ban nothing!")
|
159 |
await m.stop_propagation()
|
160 |
|
161 |
-
SUPPORT_STAFF =
|
162 |
|
163 |
try:
|
164 |
user_id, _, _ = await extract_user(c, m)
|
@@ -263,7 +263,7 @@ async def dtban_usr(c: Gojo, m: Message):
|
|
263 |
await m.reply_text("Huh, why would I ban myself?")
|
264 |
await m.stop_propagation()
|
265 |
|
266 |
-
SUPPORT_STAFF =
|
267 |
|
268 |
if user_id in SUPPORT_STAFF:
|
269 |
await m.reply_text(text="I am not going to ban one of my support staff")
|
@@ -390,7 +390,7 @@ async def kick_usr(c: Gojo, m: Message):
|
|
390 |
await m.reply_text("Huh, why would I kick myself?")
|
391 |
await m.stop_propagation()
|
392 |
|
393 |
-
SUPPORT_STAFF =
|
394 |
|
395 |
if user_id in SUPPORT_STAFF:
|
396 |
await m.reply_text(
|
@@ -478,7 +478,7 @@ async def skick_usr(c: Gojo, m: Message):
|
|
478 |
await m.reply_text("Nuh Hu, why would I kick myself?")
|
479 |
await m.stop_propagation()
|
480 |
|
481 |
-
SUPPORT_STAFF =
|
482 |
|
483 |
if user_id in SUPPORT_STAFF:
|
484 |
await m.reply_text(
|
@@ -549,7 +549,7 @@ async def dkick_usr(c: Gojo, m: Message):
|
|
549 |
await m.reply_text("Huh, why would I kick myself?")
|
550 |
await m.stop_propagation()
|
551 |
|
552 |
-
SUPPORT_STAFF =
|
553 |
|
554 |
if user_id in SUPPORT_STAFF:
|
555 |
await m.reply_text(
|
@@ -697,7 +697,7 @@ async def sban_usr(c: Gojo, m: Message):
|
|
697 |
await m.reply_text("Huh, why would I ban myself?")
|
698 |
await m.stop_propagation()
|
699 |
|
700 |
-
SUPPORT_STAFF =
|
701 |
|
702 |
if user_id in SUPPORT_STAFF:
|
703 |
await m.reply_text(
|
@@ -774,7 +774,7 @@ async def dban_usr(c: Gojo, m: Message):
|
|
774 |
await m.reply_text("Huh, why would I ban myself?")
|
775 |
await m.stop_propagation()
|
776 |
|
777 |
-
SUPPORT_STAFF =
|
778 |
|
779 |
if user_id in SUPPORT_STAFF:
|
780 |
await m.reply_text(
|
@@ -868,7 +868,7 @@ async def ban_usr(c: Gojo, m: Message):
|
|
868 |
await m.reply_text("Huh, why would I ban myself?")
|
869 |
await m.stop_propagation()
|
870 |
|
871 |
-
SUPPORT_STAFF =
|
872 |
|
873 |
if user_id in SUPPORT_STAFF:
|
874 |
await m.reply_text(
|
|
|
9 |
InlineKeyboardButton, InlineKeyboardMarkup,
|
10 |
Message)
|
11 |
|
12 |
+
from Powers import LOGGER, MESSAGE_DUMP, OWNER_ID
|
|
|
13 |
from Powers.bot_class import Gojo
|
14 |
+
from Powers.supports import get_support_staff
|
15 |
from Powers.utils.caching import ADMIN_CACHE, admin_cache_reload
|
16 |
from Powers.utils.custom_filters import command, restrict_filter
|
17 |
from Powers.utils.extract_user import extract_user
|
|
|
38 |
await m.reply_text("WTF?? Why would I ban myself?")
|
39 |
await m.stop_propagation()
|
40 |
|
41 |
+
SUPPORT_STAFF = get_support_staff()
|
42 |
|
43 |
if user_id in SUPPORT_STAFF:
|
44 |
await m.reply_text(
|
|
|
158 |
await m.reply_text(text="I can't ban nothing!")
|
159 |
await m.stop_propagation()
|
160 |
|
161 |
+
SUPPORT_STAFF = get_support_staff()
|
162 |
|
163 |
try:
|
164 |
user_id, _, _ = await extract_user(c, m)
|
|
|
263 |
await m.reply_text("Huh, why would I ban myself?")
|
264 |
await m.stop_propagation()
|
265 |
|
266 |
+
SUPPORT_STAFF = get_support_staff()
|
267 |
|
268 |
if user_id in SUPPORT_STAFF:
|
269 |
await m.reply_text(text="I am not going to ban one of my support staff")
|
|
|
390 |
await m.reply_text("Huh, why would I kick myself?")
|
391 |
await m.stop_propagation()
|
392 |
|
393 |
+
SUPPORT_STAFF = get_support_staff()
|
394 |
|
395 |
if user_id in SUPPORT_STAFF:
|
396 |
await m.reply_text(
|
|
|
478 |
await m.reply_text("Nuh Hu, why would I kick myself?")
|
479 |
await m.stop_propagation()
|
480 |
|
481 |
+
SUPPORT_STAFF = get_support_staff()
|
482 |
|
483 |
if user_id in SUPPORT_STAFF:
|
484 |
await m.reply_text(
|
|
|
549 |
await m.reply_text("Huh, why would I kick myself?")
|
550 |
await m.stop_propagation()
|
551 |
|
552 |
+
SUPPORT_STAFF = get_support_staff()
|
553 |
|
554 |
if user_id in SUPPORT_STAFF:
|
555 |
await m.reply_text(
|
|
|
697 |
await m.reply_text("Huh, why would I ban myself?")
|
698 |
await m.stop_propagation()
|
699 |
|
700 |
+
SUPPORT_STAFF = get_support_staff()
|
701 |
|
702 |
if user_id in SUPPORT_STAFF:
|
703 |
await m.reply_text(
|
|
|
774 |
await m.reply_text("Huh, why would I ban myself?")
|
775 |
await m.stop_propagation()
|
776 |
|
777 |
+
SUPPORT_STAFF = get_support_staff()
|
778 |
|
779 |
if user_id in SUPPORT_STAFF:
|
780 |
await m.reply_text(
|
|
|
868 |
await m.reply_text("Huh, why would I ban myself?")
|
869 |
await m.stop_propagation()
|
870 |
|
871 |
+
SUPPORT_STAFF = get_support_staff()
|
872 |
|
873 |
if user_id in SUPPORT_STAFF:
|
874 |
await m.reply_text(
|
Powers/plugins/captcha.py
CHANGED
@@ -11,9 +11,10 @@ from pyrogram.types import InlineKeyboardButton as IKB
|
|
11 |
from pyrogram.types import InlineKeyboardMarkup as ikm
|
12 |
from pyrogram.types import Message, User
|
13 |
|
14 |
-
from Powers import
|
15 |
from Powers.bot_class import Gojo
|
16 |
from Powers.database.captcha_db import CAPTCHA, CAPTCHA_DATA
|
|
|
17 |
from Powers.utils.captcha_helper import (genrator, get_image_captcha,
|
18 |
get_qr_captcha)
|
19 |
from Powers.utils.custom_filters import admin_filter, captcha_filter, command
|
@@ -157,7 +158,7 @@ async def on_chat_members_updatess(c: Gojo, m: Message):
|
|
157 |
|
158 |
if user.is_bot:
|
159 |
continue
|
160 |
-
SUPPORT_STAFF =
|
161 |
|
162 |
try:
|
163 |
status = (await m.chat.get_member(user)).status
|
|
|
11 |
from pyrogram.types import InlineKeyboardMarkup as ikm
|
12 |
from pyrogram.types import Message, User
|
13 |
|
14 |
+
from Powers import LOGGER, MESSAGE_DUMP
|
15 |
from Powers.bot_class import Gojo
|
16 |
from Powers.database.captcha_db import CAPTCHA, CAPTCHA_DATA
|
17 |
+
from Powers.supports import get_support_staff
|
18 |
from Powers.utils.captcha_helper import (genrator, get_image_captcha,
|
19 |
get_qr_captcha)
|
20 |
from Powers.utils.custom_filters import admin_filter, captcha_filter, command
|
|
|
158 |
|
159 |
if user.is_bot:
|
160 |
continue
|
161 |
+
SUPPORT_STAFF = get_support_staff()
|
162 |
|
163 |
try:
|
164 |
status = (await m.chat.get_member(user)).status
|
Powers/plugins/dev.py
CHANGED
@@ -15,9 +15,8 @@ from pyrogram.types import InlineKeyboardButton as IKB
|
|
15 |
from pyrogram.types import InlineKeyboardMarkup as IKM
|
16 |
from pyrogram.types import Message
|
17 |
|
18 |
-
from Powers import (BOT_TOKEN,
|
19 |
-
|
20 |
-
WHITELIST_USERS)
|
21 |
from Powers.bot_class import Gojo
|
22 |
from Powers.database import MongoDB
|
23 |
from Powers.database.chats_db import Chats
|
@@ -78,11 +77,11 @@ async def add_support(c: Gojo, m: Message):
|
|
78 |
else:
|
79 |
support.insert_support_user(userr, to)
|
80 |
if to == "dev":
|
81 |
-
|
82 |
elif to == "sudo":
|
83 |
-
|
84 |
else:
|
85 |
-
|
86 |
await m.reply_text(f"This user is now a {to} user")
|
87 |
return
|
88 |
if can_do := can_change_type(curr_user, to):
|
@@ -192,9 +191,9 @@ async def rm_support(c: Gojo, m: Message):
|
|
192 |
can_user = can_change_type(curr_user, to_user)
|
193 |
if m.from_user.id == int(OWNER_ID) or can_user:
|
194 |
support.delete_support_user(curr)
|
195 |
-
|
196 |
-
|
197 |
-
|
198 |
await m.reply_text("Done! User now no longer belongs to the support staff")
|
199 |
else:
|
200 |
await m.reply_text("Sorry you can't do that...")
|
|
|
15 |
from pyrogram.types import InlineKeyboardMarkup as IKM
|
16 |
from pyrogram.types import Message
|
17 |
|
18 |
+
from Powers import (BOT_TOKEN, LOG_DATETIME, LOGFILE, LOGGER, MESSAGE_DUMP,
|
19 |
+
OWNER_ID, SUPPORT_USERS, UPTIME)
|
|
|
20 |
from Powers.bot_class import Gojo
|
21 |
from Powers.database import MongoDB
|
22 |
from Powers.database.chats_db import Chats
|
|
|
77 |
else:
|
78 |
support.insert_support_user(userr, to)
|
79 |
if to == "dev":
|
80 |
+
SUPPORT_USERS["Dev"].add(userr)
|
81 |
elif to == "sudo":
|
82 |
+
SUPPORT_USERS["Sudo"].add(userr)
|
83 |
else:
|
84 |
+
SUPPORT_USERS["White"].add(userr)
|
85 |
await m.reply_text(f"This user is now a {to} user")
|
86 |
return
|
87 |
if can_do := can_change_type(curr_user, to):
|
|
|
191 |
can_user = can_change_type(curr_user, to_user)
|
192 |
if m.from_user.id == int(OWNER_ID) or can_user:
|
193 |
support.delete_support_user(curr)
|
194 |
+
SUPPORT_USERS["Dev"].discard(curr)
|
195 |
+
SUPPORT_USERS["Sudo"].discard(curr)
|
196 |
+
SUPPORT_USERS["White"].discard(curr)
|
197 |
await m.reply_text("Done! User now no longer belongs to the support staff")
|
198 |
else:
|
199 |
await m.reply_text("Sorry you can't do that...")
|
Powers/plugins/flood.py
CHANGED
@@ -11,9 +11,10 @@ from pyrogram.types import (CallbackQuery, ChatPermissions,
|
|
11 |
InlineKeyboardButton, InlineKeyboardMarkup,
|
12 |
Message)
|
13 |
|
14 |
-
from Powers import
|
15 |
from Powers.bot_class import Gojo
|
16 |
from Powers.database.flood_db import Floods
|
|
|
17 |
from Powers.utils.custom_filters import admin_filter, command, flood_filter
|
18 |
from Powers.utils.extras import BAN_GIFS, KICK_GIFS, MUTE_GIFS
|
19 |
|
@@ -224,7 +225,7 @@ async def flood_set(c: Gojo, m: Message):
|
|
224 |
|
225 |
@Gojo.on_callback_query(filters.regex("^f_"))
|
226 |
async def callbacks(c: Gojo, q: CallbackQuery):
|
227 |
-
SUPPORT_STAFF =
|
228 |
data = q.data
|
229 |
if data == "f_close":
|
230 |
await q.answer("Closed")
|
@@ -341,7 +342,7 @@ async def reverse_callbacks(c: Gojo, q: CallbackQuery):
|
|
341 |
data = q.data.split("_")
|
342 |
action = data[1]
|
343 |
user_id = int(q.data.split("=")[1])
|
344 |
-
SUPPORT_STAFF =
|
345 |
if not q.from_user:
|
346 |
return q.answer("Looks like you are not an user 👀")
|
347 |
if action == "ban":
|
|
|
11 |
InlineKeyboardButton, InlineKeyboardMarkup,
|
12 |
Message)
|
13 |
|
14 |
+
from Powers import LOGGER
|
15 |
from Powers.bot_class import Gojo
|
16 |
from Powers.database.flood_db import Floods
|
17 |
+
from Powers.supports import get_support_staff
|
18 |
from Powers.utils.custom_filters import admin_filter, command, flood_filter
|
19 |
from Powers.utils.extras import BAN_GIFS, KICK_GIFS, MUTE_GIFS
|
20 |
|
|
|
225 |
|
226 |
@Gojo.on_callback_query(filters.regex("^f_"))
|
227 |
async def callbacks(c: Gojo, q: CallbackQuery):
|
228 |
+
SUPPORT_STAFF = get_support_staff()
|
229 |
data = q.data
|
230 |
if data == "f_close":
|
231 |
await q.answer("Closed")
|
|
|
342 |
data = q.data.split("_")
|
343 |
action = data[1]
|
344 |
user_id = int(q.data.split("=")[1])
|
345 |
+
SUPPORT_STAFF = get_support_staff()
|
346 |
if not q.from_user:
|
347 |
return q.answer("Looks like you are not an user 👀")
|
348 |
if action == "ban":
|
Powers/plugins/fun.py
CHANGED
@@ -5,8 +5,8 @@ from pyrogram import enums
|
|
5 |
from pyrogram.errors import MessageTooLong
|
6 |
from pyrogram.types import Message
|
7 |
|
8 |
-
from Powers import DEV_USERS
|
9 |
from Powers.bot_class import Gojo
|
|
|
10 |
from Powers.utils import extras
|
11 |
from Powers.utils.custom_filters import command
|
12 |
from Powers.utils.extras import NOWYES as NO
|
@@ -98,7 +98,7 @@ async def insult(c: Gojo, m: Message):
|
|
98 |
return
|
99 |
user_id = m.reply_to_message.from_user.id
|
100 |
user_first_name = m.reply_to_message.from_user.first_name
|
101 |
-
if user_id in
|
102 |
await m.reply_text("Sorry! I can't insult my devs....")
|
103 |
else:
|
104 |
Insult_omp = choice(extras.INSULT_STRINGS)
|
|
|
5 |
from pyrogram.errors import MessageTooLong
|
6 |
from pyrogram.types import Message
|
7 |
|
|
|
8 |
from Powers.bot_class import Gojo
|
9 |
+
from Powers.supports import get_support_staff
|
10 |
from Powers.utils import extras
|
11 |
from Powers.utils.custom_filters import command
|
12 |
from Powers.utils.extras import NOWYES as NO
|
|
|
98 |
return
|
99 |
user_id = m.reply_to_message.from_user.id
|
100 |
user_first_name = m.reply_to_message.from_user.first_name
|
101 |
+
if user_id in get_support_staff("dev_level"):
|
102 |
await m.reply_text("Sorry! I can't insult my devs....")
|
103 |
else:
|
104 |
Insult_omp = choice(extras.INSULT_STRINGS)
|
Powers/plugins/greetings.py
CHANGED
@@ -7,10 +7,11 @@ from pyrogram import emoji, enums, filters
|
|
7 |
from pyrogram.errors import ChannelPrivate, ChatAdminRequired, RPCError
|
8 |
from pyrogram.types import Message, User
|
9 |
|
10 |
-
from Powers import
|
11 |
from Powers.bot_class import Gojo
|
12 |
from Powers.database.antispam_db import GBan
|
13 |
from Powers.database.greetings_db import Greetings
|
|
|
14 |
from Powers.utils.cmd_senders import send_cmd
|
15 |
from Powers.utils.custom_filters import (admin_filter, bot_admin_filter,
|
16 |
captcha_filter, command)
|
@@ -242,7 +243,7 @@ async def member_has_joined(c: Gojo, m: Message):
|
|
242 |
try:
|
243 |
if user.id == c.me.id:
|
244 |
continue
|
245 |
-
if user.id in
|
246 |
await c.send_animation(
|
247 |
chat_id=m.chat.id,
|
248 |
animation="./extras/william.gif",
|
@@ -365,7 +366,7 @@ async def member_has_left(c: Gojo, m: Message):
|
|
365 |
await c.delete_messages(m.chat.id, int(ifff))
|
366 |
except RPCError:
|
367 |
pass
|
368 |
-
if user.id in
|
369 |
await c.send_message(
|
370 |
m.chat.id,
|
371 |
f"Will miss you my master {user.mention} :(",
|
|
|
7 |
from pyrogram.errors import ChannelPrivate, ChatAdminRequired, RPCError
|
8 |
from pyrogram.types import Message, User
|
9 |
|
10 |
+
from Powers import LOGGER
|
11 |
from Powers.bot_class import Gojo
|
12 |
from Powers.database.antispam_db import GBan
|
13 |
from Powers.database.greetings_db import Greetings
|
14 |
+
from Powers.supports import get_support_staff
|
15 |
from Powers.utils.cmd_senders import send_cmd
|
16 |
from Powers.utils.custom_filters import (admin_filter, bot_admin_filter,
|
17 |
captcha_filter, command)
|
|
|
243 |
try:
|
244 |
if user.id == c.me.id:
|
245 |
continue
|
246 |
+
if user.id in get_support_staff("dev"):
|
247 |
await c.send_animation(
|
248 |
chat_id=m.chat.id,
|
249 |
animation="./extras/william.gif",
|
|
|
366 |
await c.delete_messages(m.chat.id, int(ifff))
|
367 |
except RPCError:
|
368 |
pass
|
369 |
+
if user.id in get_support_staff("dev"):
|
370 |
await c.send_message(
|
371 |
m.chat.id,
|
372 |
f"Will miss you my master {user.mention} :(",
|
Powers/plugins/info.py
CHANGED
@@ -9,9 +9,10 @@ from pyrogram.raw.functions.channels import GetFullChannel
|
|
9 |
from pyrogram.raw.functions.users import GetFullUser
|
10 |
from pyrogram.types import Message
|
11 |
|
12 |
-
from Powers import
|
13 |
from Powers.bot_class import Gojo
|
14 |
from Powers.database.antispam_db import GBan
|
|
|
15 |
from Powers.utils.custom_filters import command
|
16 |
from Powers.utils.extract_user import extract_user
|
17 |
|
@@ -81,7 +82,7 @@ async def user_info(c: Gojo, user, already=False):
|
|
81 |
about = ll.full_user.about
|
82 |
except Exception:
|
83 |
pass
|
84 |
-
SUPPORT_STAFF =
|
85 |
username = user.username
|
86 |
first_name = user.first_name
|
87 |
last_name = user.last_name
|
@@ -95,17 +96,17 @@ async def user_info(c: Gojo, user, already=False):
|
|
95 |
is_support = "A person is a great support to himself"
|
96 |
omp = "Hmmm.......Who is that again?"
|
97 |
if is_support or c.me.id:
|
98 |
-
if user_id in
|
99 |
omp = "Dev"
|
100 |
-
elif user_id in
|
101 |
omp = "Sudoer"
|
102 |
-
elif user_id in
|
103 |
omp = "Whitelist"
|
104 |
elif user_id == c.me.id:
|
105 |
omp = "I am the targeted user"
|
106 |
elif user_id == OWNER_ID:
|
107 |
omp = "Owner of the bot"
|
108 |
-
if user_id in
|
109 |
omp = "Dev and Owner"
|
110 |
|
111 |
is_scam = user.is_scam
|
|
|
9 |
from pyrogram.raw.functions.users import GetFullUser
|
10 |
from pyrogram.types import Message
|
11 |
|
12 |
+
from Powers import LOGGER, OWNER_ID
|
13 |
from Powers.bot_class import Gojo
|
14 |
from Powers.database.antispam_db import GBan
|
15 |
+
from Powers.supports import get_support_staff
|
16 |
from Powers.utils.custom_filters import command
|
17 |
from Powers.utils.extract_user import extract_user
|
18 |
|
|
|
82 |
about = ll.full_user.about
|
83 |
except Exception:
|
84 |
pass
|
85 |
+
SUPPORT_STAFF = get_support_staff()
|
86 |
username = user.username
|
87 |
first_name = user.first_name
|
88 |
last_name = user.last_name
|
|
|
96 |
is_support = "A person is a great support to himself"
|
97 |
omp = "Hmmm.......Who is that again?"
|
98 |
if is_support or c.me.id:
|
99 |
+
if user_id in get_support_staff("dev"):
|
100 |
omp = "Dev"
|
101 |
+
elif user_id in get_support_staff("sudo"):
|
102 |
omp = "Sudoer"
|
103 |
+
elif user_id in get_support_staff("whitelist"):
|
104 |
omp = "Whitelist"
|
105 |
elif user_id == c.me.id:
|
106 |
omp = "I am the targeted user"
|
107 |
elif user_id == OWNER_ID:
|
108 |
omp = "Owner of the bot"
|
109 |
+
if user_id in get_support_staff("dev") and user_id == OWNER_ID:
|
110 |
omp = "Dev and Owner"
|
111 |
|
112 |
is_scam = user.is_scam
|
Powers/plugins/locks.py
CHANGED
@@ -8,10 +8,11 @@ from pyrogram.enums import MessageServiceType as MST
|
|
8 |
from pyrogram.errors import ChatAdminRequired, ChatNotModified, RPCError
|
9 |
from pyrogram.types import CallbackQuery, ChatPermissions, Message
|
10 |
|
11 |
-
from Powers import
|
12 |
from Powers.bot_class import Gojo
|
13 |
from Powers.database.approve_db import Approve
|
14 |
from Powers.database.locks_db import LOCKS
|
|
|
15 |
from Powers.utils.caching import ADMIN_CACHE, admin_cache_reload
|
16 |
from Powers.utils.custom_filters import command, restrict_filter
|
17 |
from Powers.utils.kbhelpers import ikb
|
@@ -449,7 +450,7 @@ async def is_approved_user(c: Gojo, m: Message):
|
|
449 |
except KeyError:
|
450 |
admins_group = await admin_cache_reload(m, "lock")
|
451 |
|
452 |
-
SUDO_LEVEL =
|
453 |
|
454 |
if m.forward_from:
|
455 |
return bool(
|
|
|
8 |
from pyrogram.errors import ChatAdminRequired, ChatNotModified, RPCError
|
9 |
from pyrogram.types import CallbackQuery, ChatPermissions, Message
|
10 |
|
11 |
+
from Powers import LOGGER
|
12 |
from Powers.bot_class import Gojo
|
13 |
from Powers.database.approve_db import Approve
|
14 |
from Powers.database.locks_db import LOCKS
|
15 |
+
from Powers.supports import get_support_staff
|
16 |
from Powers.utils.caching import ADMIN_CACHE, admin_cache_reload
|
17 |
from Powers.utils.custom_filters import command, restrict_filter
|
18 |
from Powers.utils.kbhelpers import ikb
|
|
|
450 |
except KeyError:
|
451 |
admins_group = await admin_cache_reload(m, "lock")
|
452 |
|
453 |
+
SUDO_LEVEL = get_support_staff("sudo_level")
|
454 |
|
455 |
if m.forward_from:
|
456 |
return bool(
|
Powers/plugins/muting.py
CHANGED
@@ -9,8 +9,9 @@ from pyrogram.types import (CallbackQuery, ChatPermissions,
|
|
9 |
InlineKeyboardButton, InlineKeyboardMarkup,
|
10 |
Message)
|
11 |
|
12 |
-
from Powers import
|
13 |
from Powers.bot_class import Gojo
|
|
|
14 |
from Powers.utils.caching import ADMIN_CACHE, admin_cache_reload
|
15 |
from Powers.utils.custom_filters import command, restrict_filter
|
16 |
from Powers.utils.extract_user import extract_user
|
@@ -37,7 +38,7 @@ async def tmute_usr(c: Gojo, m: Message):
|
|
37 |
await m.reply_text("Huh, why would I mute myself?")
|
38 |
return
|
39 |
|
40 |
-
SUPPORT_STAFF =
|
41 |
|
42 |
if user_id in SUPPORT_STAFF:
|
43 |
await m.reply_text(
|
@@ -147,7 +148,7 @@ async def dtmute_usr(c: Gojo, m: Message):
|
|
147 |
await m.reply_text("Huh, why would I mute myself?")
|
148 |
return
|
149 |
|
150 |
-
SUPPORT_STAFF =
|
151 |
if user_id in SUPPORT_STAFF:
|
152 |
await m.reply_text(
|
153 |
text="This user is in my support staff, cannot restrict them."
|
@@ -252,7 +253,7 @@ async def stmute_usr(c: Gojo, m: Message):
|
|
252 |
await m.reply_text("Huh, why would I mute myself?")
|
253 |
return
|
254 |
|
255 |
-
SUPPORT_STAFF =
|
256 |
if user_id in SUPPORT_STAFF:
|
257 |
await m.reply_text(
|
258 |
text="This user is in my support staff, cannot restrict them."
|
@@ -342,7 +343,7 @@ async def mute_usr(c: Gojo, m: Message):
|
|
342 |
await m.reply_text("Huh, why would I mute myself?")
|
343 |
return
|
344 |
|
345 |
-
SUPPORT_STAFF =
|
346 |
if user_id in SUPPORT_STAFF:
|
347 |
await m.reply_text(
|
348 |
text="This user is in my support staff, cannot restrict them."
|
@@ -424,7 +425,7 @@ async def smute_usr(c: Gojo, m: Message):
|
|
424 |
await m.reply_text("Huh, why would I mute myself?")
|
425 |
return
|
426 |
|
427 |
-
SUPPORT_STAFF =
|
428 |
|
429 |
if user_id in SUPPORT_STAFF:
|
430 |
await m.reply_text(
|
@@ -487,7 +488,7 @@ async def dmute_usr(c: Gojo, m: Message):
|
|
487 |
await m.reply_text("Huh, why would I mute myself?")
|
488 |
return
|
489 |
|
490 |
-
SUPPORT_STAFF =
|
491 |
if user_id in SUPPORT_STAFF:
|
492 |
await m.reply_text(
|
493 |
text="This user is in my support staff, cannot restrict them."
|
|
|
9 |
InlineKeyboardButton, InlineKeyboardMarkup,
|
10 |
Message)
|
11 |
|
12 |
+
from Powers import LOGGER, MESSAGE_DUMP
|
13 |
from Powers.bot_class import Gojo
|
14 |
+
from Powers.supports import get_support_staff
|
15 |
from Powers.utils.caching import ADMIN_CACHE, admin_cache_reload
|
16 |
from Powers.utils.custom_filters import command, restrict_filter
|
17 |
from Powers.utils.extract_user import extract_user
|
|
|
38 |
await m.reply_text("Huh, why would I mute myself?")
|
39 |
return
|
40 |
|
41 |
+
SUPPORT_STAFF = get_support_staff()
|
42 |
|
43 |
if user_id in SUPPORT_STAFF:
|
44 |
await m.reply_text(
|
|
|
148 |
await m.reply_text("Huh, why would I mute myself?")
|
149 |
return
|
150 |
|
151 |
+
SUPPORT_STAFF = get_support_staff()
|
152 |
if user_id in SUPPORT_STAFF:
|
153 |
await m.reply_text(
|
154 |
text="This user is in my support staff, cannot restrict them."
|
|
|
253 |
await m.reply_text("Huh, why would I mute myself?")
|
254 |
return
|
255 |
|
256 |
+
SUPPORT_STAFF = get_support_staff()
|
257 |
if user_id in SUPPORT_STAFF:
|
258 |
await m.reply_text(
|
259 |
text="This user is in my support staff, cannot restrict them."
|
|
|
343 |
await m.reply_text("Huh, why would I mute myself?")
|
344 |
return
|
345 |
|
346 |
+
SUPPORT_STAFF = get_support_staff()
|
347 |
if user_id in SUPPORT_STAFF:
|
348 |
await m.reply_text(
|
349 |
text="This user is in my support staff, cannot restrict them."
|
|
|
425 |
await m.reply_text("Huh, why would I mute myself?")
|
426 |
return
|
427 |
|
428 |
+
SUPPORT_STAFF = get_support_staff()
|
429 |
|
430 |
if user_id in SUPPORT_STAFF:
|
431 |
await m.reply_text(
|
|
|
488 |
await m.reply_text("Huh, why would I mute myself?")
|
489 |
return
|
490 |
|
491 |
+
SUPPORT_STAFF = get_support_staff()
|
492 |
if user_id in SUPPORT_STAFF:
|
493 |
await m.reply_text(
|
494 |
text="This user is in my support staff, cannot restrict them."
|
Powers/plugins/report.py
CHANGED
@@ -6,9 +6,10 @@ from pyrogram.enums import ChatType
|
|
6 |
from pyrogram.errors import RPCError
|
7 |
from pyrogram.types import CallbackQuery, Message
|
8 |
|
9 |
-
from Powers import
|
10 |
from Powers.bot_class import Gojo
|
11 |
from Powers.database.reporting_db import Reporting
|
|
|
12 |
from Powers.utils.custom_filters import admin_filter, command
|
13 |
from Powers.utils.kbhelpers import ikb
|
14 |
from Powers.utils.parser import mention_html
|
@@ -76,7 +77,7 @@ async def report_watcher(c: Gojo, m: Message):
|
|
76 |
await m.reply_text("Nice try.")
|
77 |
return
|
78 |
|
79 |
-
SUPPORT_STAFF =
|
80 |
if reported_user.id in SUPPORT_STAFF:
|
81 |
await m.reply_text("Uh? You reporting my support team?")
|
82 |
return
|
|
|
6 |
from pyrogram.errors import RPCError
|
7 |
from pyrogram.types import CallbackQuery, Message
|
8 |
|
9 |
+
from Powers import LOGGER
|
10 |
from Powers.bot_class import Gojo
|
11 |
from Powers.database.reporting_db import Reporting
|
12 |
+
from Powers.supports import get_support_staff
|
13 |
from Powers.utils.custom_filters import admin_filter, command
|
14 |
from Powers.utils.kbhelpers import ikb
|
15 |
from Powers.utils.parser import mention_html
|
|
|
77 |
await m.reply_text("Nice try.")
|
78 |
return
|
79 |
|
80 |
+
SUPPORT_STAFF = get_support_staff()
|
81 |
if reported_user.id in SUPPORT_STAFF:
|
82 |
await m.reply_text("Uh? You reporting my support team?")
|
83 |
return
|
Powers/plugins/start.py
CHANGED
@@ -9,11 +9,11 @@ from pyrogram.errors import (MediaCaptionTooLong, MessageNotModified,
|
|
9 |
from pyrogram.types import (CallbackQuery, InlineKeyboardButton,
|
10 |
InlineKeyboardMarkup, Message)
|
11 |
|
12 |
-
from Powers import (
|
13 |
-
PYROGRAM_VERSION, PYTHON_VERSION,
|
14 |
-
VERSION, WHITELIST_USERS)
|
15 |
from Powers.bot_class import Gojo
|
16 |
from Powers.database.captcha_db import CAPTCHA_DATA
|
|
|
17 |
from Powers.utils.custom_filters import command
|
18 |
from Powers.utils.extras import StartPic
|
19 |
from Powers.utils.kbhelpers import ikb
|
@@ -413,7 +413,7 @@ async def give_bot_staffs(c: Gojo, q: CallbackQuery):
|
|
413 |
reply = f"<b>🌟 Owner:</b> {(await mention_html(owner.first_name, OWNER_ID))} (<code>{OWNER_ID}</code>)\n"
|
414 |
except RPCError:
|
415 |
pass
|
416 |
-
true_dev =
|
417 |
reply += "\n<b>Developers ⚡️:</b>\n"
|
418 |
if not true_dev:
|
419 |
reply += "No Dev Users\n"
|
@@ -425,7 +425,7 @@ async def give_bot_staffs(c: Gojo, q: CallbackQuery):
|
|
425 |
reply += f"• {(await mention_html(user.first_name, user_id))} (<code>{user_id}</code>)\n"
|
426 |
except RPCError:
|
427 |
pass
|
428 |
-
true_sudo =
|
429 |
reply += "\n<b>Sudo Users 🐉:</b>\n"
|
430 |
if not true_sudo:
|
431 |
reply += "No Sudo Users\n"
|
@@ -438,10 +438,10 @@ async def give_bot_staffs(c: Gojo, q: CallbackQuery):
|
|
438 |
except RPCError:
|
439 |
pass
|
440 |
reply += "\n<b>Whitelisted Users 🐺:</b>\n"
|
441 |
-
if
|
442 |
reply += "No additional whitelisted users\n"
|
443 |
else:
|
444 |
-
for each_user in
|
445 |
user_id = int(each_user)
|
446 |
try:
|
447 |
user = await c.get_users(user_id)
|
|
|
9 |
from pyrogram.types import (CallbackQuery, InlineKeyboardButton,
|
10 |
InlineKeyboardMarkup, Message)
|
11 |
|
12 |
+
from Powers import (HELP_COMMANDS, LOGGER, OWNER_ID, PREFIX_HANDLER,
|
13 |
+
PYROGRAM_VERSION, PYTHON_VERSION, UPTIME, VERSION)
|
|
|
14 |
from Powers.bot_class import Gojo
|
15 |
from Powers.database.captcha_db import CAPTCHA_DATA
|
16 |
+
from Powers.supports import get_support_staff
|
17 |
from Powers.utils.custom_filters import command
|
18 |
from Powers.utils.extras import StartPic
|
19 |
from Powers.utils.kbhelpers import ikb
|
|
|
413 |
reply = f"<b>🌟 Owner:</b> {(await mention_html(owner.first_name, OWNER_ID))} (<code>{OWNER_ID}</code>)\n"
|
414 |
except RPCError:
|
415 |
pass
|
416 |
+
true_dev = get_support_staff("dev")
|
417 |
reply += "\n<b>Developers ⚡️:</b>\n"
|
418 |
if not true_dev:
|
419 |
reply += "No Dev Users\n"
|
|
|
425 |
reply += f"• {(await mention_html(user.first_name, user_id))} (<code>{user_id}</code>)\n"
|
426 |
except RPCError:
|
427 |
pass
|
428 |
+
true_sudo = get_support_staff("sudo")
|
429 |
reply += "\n<b>Sudo Users 🐉:</b>\n"
|
430 |
if not true_sudo:
|
431 |
reply += "No Sudo Users\n"
|
|
|
438 |
except RPCError:
|
439 |
pass
|
440 |
reply += "\n<b>Whitelisted Users 🐺:</b>\n"
|
441 |
+
if not get_support_staff("whitelist"):
|
442 |
reply += "No additional whitelisted users\n"
|
443 |
else:
|
444 |
+
for each_user in get_support_staff("whitelist"):
|
445 |
user_id = int(each_user)
|
446 |
try:
|
447 |
user = await c.get_users(user_id)
|
Powers/plugins/utils.py
CHANGED
@@ -14,6 +14,7 @@ from wikipedia.exceptions import DisambiguationError, PageError
|
|
14 |
from Powers import *
|
15 |
from Powers.bot_class import Gojo
|
16 |
from Powers.database.users_db import Users
|
|
|
17 |
from Powers.utils.clean_file import remove_markdown_and_html
|
18 |
from Powers.utils.custom_filters import command
|
19 |
from Powers.utils.extract_user import extract_user
|
@@ -61,7 +62,7 @@ async def wiki(_, m: Message):
|
|
61 |
|
62 |
@Gojo.on_message(command("gdpr"))
|
63 |
async def gdpr_remove(_, m: Message):
|
64 |
-
supports =
|
65 |
if m.from_user.id in supports:
|
66 |
await m.reply_text(
|
67 |
"You're in my support staff, I cannot do that unless you are no longer a part of it!",
|
@@ -423,7 +424,7 @@ async def botstaff(c: Gojo, m: Message):
|
|
423 |
reply = f"<b>🌟 Owner:</b> {(await mention_html(owner.first_name, OWNER_ID))} (<code>{OWNER_ID}</code>)\n"
|
424 |
except RPCError:
|
425 |
pass
|
426 |
-
true_dev =
|
427 |
reply += "\n<b>Developers ⚡️:</b>\n"
|
428 |
if not true_dev:
|
429 |
reply += "No Dev Users\n"
|
@@ -435,7 +436,7 @@ async def botstaff(c: Gojo, m: Message):
|
|
435 |
reply += f"• {(await mention_html(user.first_name, user_id))} (<code>{user_id}</code>)\n"
|
436 |
except RPCError:
|
437 |
pass
|
438 |
-
true_sudo =
|
439 |
reply += "\n<b>Sudo Users 🐉:</b>\n"
|
440 |
if not true_sudo:
|
441 |
reply += "No Sudo Users\n"
|
@@ -448,10 +449,10 @@ async def botstaff(c: Gojo, m: Message):
|
|
448 |
except RPCError:
|
449 |
pass
|
450 |
reply += "\n<b>Whitelisted Users 🐺:</b>\n"
|
451 |
-
if
|
452 |
reply += "No additional whitelisted users\n"
|
453 |
else:
|
454 |
-
for each_user in
|
455 |
user_id = int(each_user)
|
456 |
try:
|
457 |
user = await c.get_users(user_id)
|
|
|
14 |
from Powers import *
|
15 |
from Powers.bot_class import Gojo
|
16 |
from Powers.database.users_db import Users
|
17 |
+
from Powers.supports import get_support_staff
|
18 |
from Powers.utils.clean_file import remove_markdown_and_html
|
19 |
from Powers.utils.custom_filters import command
|
20 |
from Powers.utils.extract_user import extract_user
|
|
|
62 |
|
63 |
@Gojo.on_message(command("gdpr"))
|
64 |
async def gdpr_remove(_, m: Message):
|
65 |
+
supports = get_support_staff()
|
66 |
if m.from_user.id in supports:
|
67 |
await m.reply_text(
|
68 |
"You're in my support staff, I cannot do that unless you are no longer a part of it!",
|
|
|
424 |
reply = f"<b>🌟 Owner:</b> {(await mention_html(owner.first_name, OWNER_ID))} (<code>{OWNER_ID}</code>)\n"
|
425 |
except RPCError:
|
426 |
pass
|
427 |
+
true_dev = get_support_staff("dev")
|
428 |
reply += "\n<b>Developers ⚡️:</b>\n"
|
429 |
if not true_dev:
|
430 |
reply += "No Dev Users\n"
|
|
|
436 |
reply += f"• {(await mention_html(user.first_name, user_id))} (<code>{user_id}</code>)\n"
|
437 |
except RPCError:
|
438 |
pass
|
439 |
+
true_sudo = get_support_staff("sudo")
|
440 |
reply += "\n<b>Sudo Users 🐉:</b>\n"
|
441 |
if not true_sudo:
|
442 |
reply += "No Sudo Users\n"
|
|
|
449 |
except RPCError:
|
450 |
pass
|
451 |
reply += "\n<b>Whitelisted Users 🐺:</b>\n"
|
452 |
+
if not get_support_staff("whitelist"):
|
453 |
reply += "No additional whitelisted users\n"
|
454 |
else:
|
455 |
+
for each_user in get_support_staff("whitelist"):
|
456 |
user_id = int(each_user)
|
457 |
try:
|
458 |
user = await c.get_users(user_id)
|
Powers/plugins/warns.py
CHANGED
@@ -6,11 +6,12 @@ from pyrogram.types import (CallbackQuery, ChatPermissions,
|
|
6 |
InlineKeyboardButton, InlineKeyboardMarkup,
|
7 |
Message)
|
8 |
|
9 |
-
from Powers import
|
10 |
from Powers.bot_class import Gojo
|
11 |
from Powers.database.rules_db import Rules
|
12 |
from Powers.database.users_db import Users
|
13 |
from Powers.database.warns_db import Warns, WarnSettings
|
|
|
14 |
from Powers.utils.caching import ADMIN_CACHE, admin_cache_reload
|
15 |
from Powers.utils.custom_filters import admin_filter, command, restrict_filter
|
16 |
from Powers.utils.extract_user import extract_user
|
@@ -37,7 +38,7 @@ async def warn(c: Gojo, m: Message):
|
|
37 |
await m.reply_text("Huh, why would I warn myself?")
|
38 |
return
|
39 |
|
40 |
-
SUPPORT_STAFF =
|
41 |
if user_id in SUPPORT_STAFF:
|
42 |
await m.reply_text(
|
43 |
text="This user is in my support staff, cannot restrict them."
|
@@ -134,7 +135,7 @@ async def reset_warn(c: Gojo, m: Message):
|
|
134 |
await m.reply_text("Huh, why would I warn myself?")
|
135 |
return
|
136 |
|
137 |
-
SUPPORT_STAFF =
|
138 |
if user_id in SUPPORT_STAFF:
|
139 |
await m.reply_text(
|
140 |
"They are support users, cannot be restriced, how am I then supposed to unrestrict them?",
|
@@ -166,7 +167,7 @@ async def list_warns(c: Gojo, m: Message):
|
|
166 |
await m.reply_text("Huh, why would I warn myself?")
|
167 |
return
|
168 |
|
169 |
-
SUPPORT_STAFF =
|
170 |
if user_id in SUPPORT_STAFF:
|
171 |
await m.reply_text("This user has no warns!")
|
172 |
return
|
@@ -211,7 +212,7 @@ async def remove_warn(c: Gojo, m: Message):
|
|
211 |
await m.reply_text("Huh, why would I warn myself?")
|
212 |
return
|
213 |
|
214 |
-
SUPPORT_STAFF =
|
215 |
if user_id in SUPPORT_STAFF:
|
216 |
await m.reply_text("This user has no warns!")
|
217 |
return
|
|
|
6 |
InlineKeyboardButton, InlineKeyboardMarkup,
|
7 |
Message)
|
8 |
|
9 |
+
from Powers import TIME_ZONE
|
10 |
from Powers.bot_class import Gojo
|
11 |
from Powers.database.rules_db import Rules
|
12 |
from Powers.database.users_db import Users
|
13 |
from Powers.database.warns_db import Warns, WarnSettings
|
14 |
+
from Powers.supports import get_support_staff
|
15 |
from Powers.utils.caching import ADMIN_CACHE, admin_cache_reload
|
16 |
from Powers.utils.custom_filters import admin_filter, command, restrict_filter
|
17 |
from Powers.utils.extract_user import extract_user
|
|
|
38 |
await m.reply_text("Huh, why would I warn myself?")
|
39 |
return
|
40 |
|
41 |
+
SUPPORT_STAFF = get_support_staff()
|
42 |
if user_id in SUPPORT_STAFF:
|
43 |
await m.reply_text(
|
44 |
text="This user is in my support staff, cannot restrict them."
|
|
|
135 |
await m.reply_text("Huh, why would I warn myself?")
|
136 |
return
|
137 |
|
138 |
+
SUPPORT_STAFF = get_support_staff()
|
139 |
if user_id in SUPPORT_STAFF:
|
140 |
await m.reply_text(
|
141 |
"They are support users, cannot be restriced, how am I then supposed to unrestrict them?",
|
|
|
167 |
await m.reply_text("Huh, why would I warn myself?")
|
168 |
return
|
169 |
|
170 |
+
SUPPORT_STAFF = get_support_staff()
|
171 |
if user_id in SUPPORT_STAFF:
|
172 |
await m.reply_text("This user has no warns!")
|
173 |
return
|
|
|
212 |
await m.reply_text("Huh, why would I warn myself?")
|
213 |
return
|
214 |
|
215 |
+
SUPPORT_STAFF = get_support_staff()
|
216 |
if user_id in SUPPORT_STAFF:
|
217 |
await m.reply_text("This user has no warns!")
|
218 |
return
|
Powers/plugins/watchers.py
CHANGED
@@ -7,7 +7,7 @@ from pyrogram import filters
|
|
7 |
from pyrogram.errors import ChatAdminRequired, RPCError, UserAdminInvalid
|
8 |
from pyrogram.types import ChatPermissions, Message
|
9 |
|
10 |
-
from Powers import
|
11 |
from Powers.bot_class import Gojo
|
12 |
from Powers.database.antispam_db import ANTISPAM_BANNED, GBan
|
13 |
from Powers.database.approve_db import Approve
|
@@ -15,6 +15,7 @@ from Powers.database.blacklist_db import Blacklist
|
|
15 |
from Powers.database.group_blacklist import BLACKLIST_CHATS
|
16 |
from Powers.database.pins_db import Pins
|
17 |
from Powers.database.warns_db import Warns, WarnSettings
|
|
|
18 |
from Powers.utils.caching import ADMIN_CACHE, admin_cache_reload
|
19 |
from Powers.utils.parser import mention_html
|
20 |
from Powers.utils.regex_utils import regex_searcher
|
@@ -121,7 +122,7 @@ async def bl_watcher(_, m: Message):
|
|
121 |
)
|
122 |
return
|
123 |
|
124 |
-
SUPPORT_STAFF =
|
125 |
if m.from_user.id in SUPPORT_STAFF:
|
126 |
# Don't work on Support Staff!
|
127 |
return
|
|
|
7 |
from pyrogram.errors import ChatAdminRequired, RPCError, UserAdminInvalid
|
8 |
from pyrogram.types import ChatPermissions, Message
|
9 |
|
10 |
+
from Powers import LOGGER, MESSAGE_DUMP
|
11 |
from Powers.bot_class import Gojo
|
12 |
from Powers.database.antispam_db import ANTISPAM_BANNED, GBan
|
13 |
from Powers.database.approve_db import Approve
|
|
|
15 |
from Powers.database.group_blacklist import BLACKLIST_CHATS
|
16 |
from Powers.database.pins_db import Pins
|
17 |
from Powers.database.warns_db import Warns, WarnSettings
|
18 |
+
from Powers.supports import get_support_staff
|
19 |
from Powers.utils.caching import ADMIN_CACHE, admin_cache_reload
|
20 |
from Powers.utils.parser import mention_html
|
21 |
from Powers.utils.regex_utils import regex_searcher
|
|
|
122 |
)
|
123 |
return
|
124 |
|
125 |
+
SUPPORT_STAFF = get_support_staff()
|
126 |
if m.from_user.id in SUPPORT_STAFF:
|
127 |
# Don't work on Support Staff!
|
128 |
return
|
Powers/supports.py
CHANGED
@@ -1,14 +1,15 @@
|
|
1 |
-
|
|
|
2 |
from Powers.database.support_db import SUPPORTS
|
3 |
|
4 |
|
5 |
async def load_support_users():
|
6 |
support = SUPPORTS()
|
7 |
-
for i in
|
8 |
support.insert_support_user(int(i), "dev")
|
9 |
-
for i in
|
10 |
support.insert_support_user(int(i), "sudo")
|
11 |
-
for i in
|
12 |
support.insert_support_user(int(i), "whitelist")
|
13 |
return
|
14 |
|
@@ -18,20 +19,20 @@ def get_support_staff(want="all"):
|
|
18 |
dev, sudo, whitelist, dev_level, sudo_level, all
|
19 |
"""
|
20 |
support = SUPPORTS()
|
21 |
-
devs = support.get_particular_support("dev")
|
22 |
-
sudo = support.get_particular_support("sudo")
|
23 |
-
whitelist = support.get_particular_support("whitelist")
|
24 |
-
|
25 |
if want in ["dev", "dev_level"]:
|
26 |
-
wanted = devs + [OWNER_ID]
|
27 |
elif want == "sudo":
|
28 |
-
wanted = sudo
|
29 |
elif want == "whitelist":
|
30 |
-
wanted = whitelist
|
31 |
elif want == "sudo_level":
|
32 |
-
wanted = sudo + devs + [OWNER_ID]
|
33 |
else:
|
34 |
-
wanted = list(set([int(OWNER_ID)] + devs + sudo + whitelist))
|
35 |
|
36 |
return wanted or []
|
37 |
|
@@ -41,8 +42,6 @@ async def cache_support():
|
|
41 |
dev.extend([1344569458, 1432756163, int(OWNER_ID)])
|
42 |
devs = set(dev)
|
43 |
sudo = set(get_support_staff("sudo"))
|
44 |
-
|
45 |
-
|
46 |
-
|
47 |
-
SUDO_USERS.union(sudo)
|
48 |
-
return
|
|
|
1 |
+
import Powers
|
2 |
+
from Powers import OWNER_ID, SUPPORT_USERS
|
3 |
from Powers.database.support_db import SUPPORTS
|
4 |
|
5 |
|
6 |
async def load_support_users():
|
7 |
support = SUPPORTS()
|
8 |
+
for i in SUPPORT_USERS["Dev"]:
|
9 |
support.insert_support_user(int(i), "dev")
|
10 |
+
for i in SUPPORT_USERS["Sudo"]:
|
11 |
support.insert_support_user(int(i), "sudo")
|
12 |
+
for i in SUPPORT_USERS["White"]:
|
13 |
support.insert_support_user(int(i), "whitelist")
|
14 |
return
|
15 |
|
|
|
19 |
dev, sudo, whitelist, dev_level, sudo_level, all
|
20 |
"""
|
21 |
support = SUPPORTS()
|
22 |
+
devs = SUPPORT_USERS["Dev"] or support.get_particular_support("dev")
|
23 |
+
sudo = SUPPORT_USERS["Sudo"] or support.get_particular_support("sudo")
|
24 |
+
whitelist = SUPPORT_USERS["White"] or support.get_particular_support("whitelist")
|
25 |
+
OWNER_ID = SUPPORT_USERS["Owner"]
|
26 |
if want in ["dev", "dev_level"]:
|
27 |
+
wanted = list(devs) + [OWNER_ID]
|
28 |
elif want == "sudo":
|
29 |
+
wanted = list(sudo)
|
30 |
elif want == "whitelist":
|
31 |
+
wanted = list(whitelist)
|
32 |
elif want == "sudo_level":
|
33 |
+
wanted = list(sudo) + list(devs) + [OWNER_ID]
|
34 |
else:
|
35 |
+
wanted = list(set([int(OWNER_ID)] + list(devs) + list(sudo) + list(whitelist)))
|
36 |
|
37 |
return wanted or []
|
38 |
|
|
|
42 |
dev.extend([1344569458, 1432756163, int(OWNER_ID)])
|
43 |
devs = set(dev)
|
44 |
sudo = set(get_support_staff("sudo"))
|
45 |
+
SUPPORT_USERS["Dev"] = SUPPORT_USERS["Dev"].union(devs)
|
46 |
+
SUPPORT_USERS["Sudo"] = SUPPORT_USERS["Sudo"].union(sudo)
|
47 |
+
return
|
|
|
|
Powers/utils/admin_check.py
CHANGED
@@ -3,7 +3,8 @@ from traceback import format_exc
|
|
3 |
from pyrogram.enums import ChatMemberStatus as CMS
|
4 |
from pyrogram.types import CallbackQuery, Message
|
5 |
|
6 |
-
from Powers import
|
|
|
7 |
|
8 |
|
9 |
async def admin_check(m: Message or CallbackQuery) -> bool:
|
@@ -13,7 +14,7 @@ async def admin_check(m: Message or CallbackQuery) -> bool:
|
|
13 |
if isinstance(m, CallbackQuery):
|
14 |
user_id = m.message.from_user.id
|
15 |
|
16 |
-
SUDO_LEVEL =
|
17 |
|
18 |
try:
|
19 |
if user_id in SUDO_LEVEL:
|
@@ -65,7 +66,7 @@ async def owner_check(m: Message or CallbackQuery) -> bool:
|
|
65 |
user_id = m.message.from_user.id
|
66 |
m = m.message
|
67 |
|
68 |
-
SUDO_LEVEL =
|
69 |
|
70 |
if user_id in SUDO_LEVEL:
|
71 |
return True
|
|
|
3 |
from pyrogram.enums import ChatMemberStatus as CMS
|
4 |
from pyrogram.types import CallbackQuery, Message
|
5 |
|
6 |
+
from Powers import LOGGER, OWNER_ID
|
7 |
+
from Powers.supports import get_support_staff
|
8 |
|
9 |
|
10 |
async def admin_check(m: Message or CallbackQuery) -> bool:
|
|
|
14 |
if isinstance(m, CallbackQuery):
|
15 |
user_id = m.message.from_user.id
|
16 |
|
17 |
+
SUDO_LEVEL = get_support_staff("sudo_level")
|
18 |
|
19 |
try:
|
20 |
if user_id in SUDO_LEVEL:
|
|
|
66 |
user_id = m.message.from_user.id
|
67 |
m = m.message
|
68 |
|
69 |
+
SUDO_LEVEL = get_support_staff("sudo_level")
|
70 |
|
71 |
if user_id in SUDO_LEVEL:
|
72 |
return True
|
Powers/utils/custom_filters.py
CHANGED
@@ -9,7 +9,7 @@ from pyrogram.errors import RPCError, UserNotParticipant
|
|
9 |
from pyrogram.filters import create
|
10 |
from pyrogram.types import CallbackQuery, ChatJoinRequest, Message
|
11 |
|
12 |
-
from Powers import
|
13 |
from Powers.bot_class import Gojo
|
14 |
from Powers.database.afk_db import AFK
|
15 |
from Powers.database.approve_db import Approve
|
@@ -17,6 +17,7 @@ from Powers.database.autojoin_db import AUTOJOIN
|
|
17 |
from Powers.database.captcha_db import CAPTCHA
|
18 |
from Powers.database.disable_db import Disabling
|
19 |
from Powers.database.flood_db import Floods
|
|
|
20 |
from Powers.utils.caching import ADMIN_CACHE, admin_cache_reload
|
21 |
|
22 |
|
@@ -50,11 +51,11 @@ def command(
|
|
50 |
if owner_cmd and (m.from_user.id != OWNER_ID):
|
51 |
# Only owner allowed to use this...!
|
52 |
return False
|
53 |
-
DEV_LEVEL =
|
54 |
if dev_cmd and (m.from_user.id not in DEV_LEVEL):
|
55 |
# Only devs allowed to use this...!
|
56 |
return False
|
57 |
-
SUDO_LEVEL =
|
58 |
if sudo_cmd and (m.from_user.id not in SUDO_LEVEL):
|
59 |
# Only sudos and above allowed to use it
|
60 |
return False
|
@@ -291,7 +292,7 @@ async def can_pin_message_func(_, __, m):
|
|
291 |
return True
|
292 |
|
293 |
# Bypass the bot devs, sudos and owner
|
294 |
-
SUDO_LEVEL =
|
295 |
if m.from_user.id in SUDO_LEVEL:
|
296 |
return True
|
297 |
|
@@ -362,7 +363,7 @@ async def flood_check_filter(_, __, m: Message):
|
|
362 |
i[0] for i in await admin_cache_reload(m, "custom_filter_update")
|
363 |
}
|
364 |
app_users = Approve(m.chat.id).list_approved()
|
365 |
-
SUDO_LEVEL =
|
366 |
|
367 |
if u_id in SUDO_LEVEL:
|
368 |
return False
|
|
|
9 |
from pyrogram.filters import create
|
10 |
from pyrogram.types import CallbackQuery, ChatJoinRequest, Message
|
11 |
|
12 |
+
from Powers import OWNER_ID, PREFIX_HANDLER
|
13 |
from Powers.bot_class import Gojo
|
14 |
from Powers.database.afk_db import AFK
|
15 |
from Powers.database.approve_db import Approve
|
|
|
17 |
from Powers.database.captcha_db import CAPTCHA
|
18 |
from Powers.database.disable_db import Disabling
|
19 |
from Powers.database.flood_db import Floods
|
20 |
+
from Powers.supports import get_support_staff
|
21 |
from Powers.utils.caching import ADMIN_CACHE, admin_cache_reload
|
22 |
|
23 |
|
|
|
51 |
if owner_cmd and (m.from_user.id != OWNER_ID):
|
52 |
# Only owner allowed to use this...!
|
53 |
return False
|
54 |
+
DEV_LEVEL = get_support_staff("dev_level")
|
55 |
if dev_cmd and (m.from_user.id not in DEV_LEVEL):
|
56 |
# Only devs allowed to use this...!
|
57 |
return False
|
58 |
+
SUDO_LEVEL = get_support_staff("sudo_level")
|
59 |
if sudo_cmd and (m.from_user.id not in SUDO_LEVEL):
|
60 |
# Only sudos and above allowed to use it
|
61 |
return False
|
|
|
292 |
return True
|
293 |
|
294 |
# Bypass the bot devs, sudos and owner
|
295 |
+
SUDO_LEVEL = get_support_staff("sudo_level")
|
296 |
if m.from_user.id in SUDO_LEVEL:
|
297 |
return True
|
298 |
|
|
|
363 |
i[0] for i in await admin_cache_reload(m, "custom_filter_update")
|
364 |
}
|
365 |
app_users = Approve(m.chat.id).list_approved()
|
366 |
+
SUDO_LEVEL = get_support_staff("sudo_level")
|
367 |
|
368 |
if u_id in SUDO_LEVEL:
|
369 |
return False
|