diff --git a/Powers/__init__.py b/Powers/__init__.py index 94ee593907fd69282505269d6e556e1438d3ee9c..f38b458c0a1d6c2d14968bf8c565df0595426f13 100644 --- a/Powers/__init__.py +++ b/Powers/__init__.py @@ -1,11 +1,11 @@ +from time import time from datetime import datetime +from traceback import format_exc +from os import path, mkdir, environ from importlib import import_module as imp_mod +from sys import exit as sysexit, stdout, version_info from logging import ( INFO, WARNING, FileHandler, StreamHandler, getLogger, basicConfig) -from os import path, mkdir, environ -from sys import exit as sysexit, stdout, version_info -from time import time -from traceback import format_exc LOG_DATETIME = datetime.now().strftime("%d_%m_%Y-%H_%M_%S") diff --git a/Powers/bot_class.py b/Powers/bot_class.py index 6133fffc28456dfe5c5acb0a183055f54fa45ec4..a61d6086ddccde24cfe2a5901a4af288a4df65f0 100644 --- a/Powers/bot_class.py +++ b/Powers/bot_class.py @@ -1,17 +1,15 @@ +from threading import RLock +from Powers.vars import Config from aiohttp import ClientSession +from pyrogram.raw.all import layer +from Powers.database import MongoDB from platform import python_version -from threading import RLock +from Powers.plugins import all_plugins from time import time, gmtime, strftime - from pyrogram import Client, __version__ - from Powers import ( API_ID, LOGGER, UPTIME, LOGFILE, NO_LOAD, WORKERS, API_HASH, BOT_TOKEN, LOG_DATETIME, MESSAGE_DUMP, load_cmds) -from Powers.database import MongoDB -from Powers.plugins import all_plugins -from pyrogram.raw.all import layer -from Powers.vars import Config INITIAL_LOCK = RLock() diff --git a/Powers/database/__init__.py b/Powers/database/__init__.py index 6421eb387189a3f079c3769f67e351226b70827e..b96d862f80f3a2539a18f40e0a939b1cdca7e569 100644 --- a/Powers/database/__init__.py +++ b/Powers/database/__init__.py @@ -1,7 +1,6 @@ +from sys import exit as exiter from pymongo import MongoClient from pymongo.errors import PyMongoError -from sys import exit as exiter - from Powers import DB_URI, LOGGER, DB_NAME diff --git a/Powers/database/antispam_db.py b/Powers/database/antispam_db.py index 24cb6a589657121c7648dd886e79e27a35b91164..bb1f457dd1cda96753a249b46408aa0e1f4dcbf2 100644 --- a/Powers/database/antispam_db.py +++ b/Powers/database/antispam_db.py @@ -1,6 +1,5 @@ -from datetime import datetime from threading import RLock - +from datetime import datetime from Powers.database import MongoDB diff --git a/Powers/database/approve_db.py b/Powers/database/approve_db.py index d33140affc3ff51f40a16d5a46cdc3bcf542266b..617e4716cdd6e027f46164e48b74711d686fd318 100644 --- a/Powers/database/approve_db.py +++ b/Powers/database/approve_db.py @@ -1,6 +1,5 @@ -from threading import RLock - from Powers import LOGGER +from threading import RLock from Powers.database import MongoDB diff --git a/Powers/database/blacklist_db.py b/Powers/database/blacklist_db.py index e6b703d8e65b883b4587d89c2fabc4224532dae2..2295038466416694c6963b049ba417357e9b723d 100644 --- a/Powers/database/blacklist_db.py +++ b/Powers/database/blacklist_db.py @@ -1,7 +1,6 @@ -from threading import RLock from time import time - from Powers import LOGGER +from threading import RLock from Powers.database import MongoDB diff --git a/Powers/database/chats_db.py b/Powers/database/chats_db.py index 371883ccc60d60a8fc1623e60ae5a1c41a438d14..0ce13d5bb20cfd9704fb0bb36ab897715ae4cc39 100644 --- a/Powers/database/chats_db.py +++ b/Powers/database/chats_db.py @@ -1,7 +1,6 @@ -from threading import RLock from time import time - from Powers import LOGGER +from threading import RLock from Powers.database import MongoDB diff --git a/Powers/database/disable_db.py b/Powers/database/disable_db.py index 7aa0bbee6108c438dc5b3cf90b2aca88c7d5c8c3..fb2c294b78631eded649d645477f4289c3376f93 100644 --- a/Powers/database/disable_db.py +++ b/Powers/database/disable_db.py @@ -1,7 +1,6 @@ -from threading import RLock from time import time - from Powers import LOGGER +from threading import RLock from Powers.database import MongoDB diff --git a/Powers/database/filters_db.py b/Powers/database/filters_db.py index 1c9161d746b9c24231997d2f54df43be02a33210..3df3c6e3dfc356971f2750040ee887cecd8a585b 100644 --- a/Powers/database/filters_db.py +++ b/Powers/database/filters_db.py @@ -1,5 +1,4 @@ from threading import RLock - from Powers.database import MongoDB from Powers.utils.msg_types import Types diff --git a/Powers/database/greetings_db.py b/Powers/database/greetings_db.py index 52a1b8fd44fba7224692b6a7104cc4b31ded6dd1..84ef6c21e25ee19be99b17954f6fe9ca98d0c5c7 100644 --- a/Powers/database/greetings_db.py +++ b/Powers/database/greetings_db.py @@ -1,6 +1,5 @@ -from threading import RLock - from Powers import LOGGER +from threading import RLock from Powers.database import MongoDB diff --git a/Powers/database/group_blacklist.py b/Powers/database/group_blacklist.py index c857e4c8d4c7030c6b35e01339a47e89305b510c..d47260522c738e1848d9edb1e00b89cfa562d07c 100644 --- a/Powers/database/group_blacklist.py +++ b/Powers/database/group_blacklist.py @@ -1,5 +1,4 @@ from threading import RLock - from Powers.database import MongoDB from Powers.database.chats_db import Chats diff --git a/Powers/database/notes_db.py b/Powers/database/notes_db.py index bd12a70c83c7976f2bd126bfc8d4c99c7fcab78e..fb9afe66a681a190f65252b039cc8b2631fc0c9c 100644 --- a/Powers/database/notes_db.py +++ b/Powers/database/notes_db.py @@ -1,7 +1,6 @@ +from time import time from hashlib import md5 from threading import RLock -from time import time - from Powers.database import MongoDB from Powers.utils.msg_types import Types diff --git a/Powers/database/pins_db.py b/Powers/database/pins_db.py index 6b591be91fbcadca1290460f0b284db325b9b47a..884d8a48c56f16f13d291e4545b2a27529f0b8e6 100644 --- a/Powers/database/pins_db.py +++ b/Powers/database/pins_db.py @@ -1,6 +1,5 @@ -from threading import RLock - from Powers import LOGGER +from threading import RLock from Powers.database import MongoDB diff --git a/Powers/database/reporting_db.py b/Powers/database/reporting_db.py index 671a12b31fadb6e3de7aded64335bd80cb08727c..fb0385c4934b9fd702d29b2de8f4a8b2535f922d 100644 --- a/Powers/database/reporting_db.py +++ b/Powers/database/reporting_db.py @@ -1,7 +1,6 @@ -from threading import RLock from time import time - from Powers import LOGGER +from threading import RLock from Powers.database import MongoDB diff --git a/Powers/database/rules_db.py b/Powers/database/rules_db.py index 14eb8e1353d8a71212933f061deaa831fba34199..a0cfe90c96cc4e1fa9b5ac0d6714b4e0841b8831 100644 --- a/Powers/database/rules_db.py +++ b/Powers/database/rules_db.py @@ -1,7 +1,6 @@ -from threading import RLock from time import time - from Powers import LOGGER +from threading import RLock from Powers.database import MongoDB diff --git a/Powers/database/users_db.py b/Powers/database/users_db.py index df11916b7e0d5d26a37c9242e9a2da8d7301ba75..45ad1183a1752ce7813c34edb6bc059fbd1e4ac0 100644 --- a/Powers/database/users_db.py +++ b/Powers/database/users_db.py @@ -1,7 +1,6 @@ -from threading import RLock from time import time - from Powers import LOGGER +from threading import RLock from Powers.database import MongoDB diff --git a/Powers/database/warns_db.py b/Powers/database/warns_db.py index fab7d42448d9357cf0933c3f768a9621703ec672..696dcdb8fac64bb167ea5973c8ed44a8e139db23 100644 --- a/Powers/database/warns_db.py +++ b/Powers/database/warns_db.py @@ -1,7 +1,6 @@ -from threading import RLock from time import time - from Powers import LOGGER +from threading import RLock from Powers.database import MongoDB diff --git a/Powers/plugins/admin.py b/Powers/plugins/admin.py index da5240f627e3c71961b53320492a92089b314955..7ba67477d818d7c2803e5df903ae9401d6d06eb0 100644 --- a/Powers/plugins/admin.py +++ b/Powers/plugins/admin.py @@ -1,26 +1,24 @@ -from asyncio import sleep -from html import escape from os import remove -from traceback import format_exc - +from html import escape +from asyncio import sleep from pyrogram import filters -from pyrogram.errors import ( - RPCError, FloodWait, RightForbidden, UserAdminInvalid, ChatAdminRequired, - ChatAdminInviteRequired) - -from Powers import LOGGER, OWNER_ID, DEV_USERS, SUPPORT_GROUP, SUPPORT_STAFF +from Powers.vars import Config +from traceback import format_exc from Powers.bot_class import Gojo from pyrogram.types import Message -from Powers.vars import Config +from Powers.utils.chat_type import chattype +from Powers.utils.parser import mention_html from Powers.database.approve_db import Approve from Powers.database.reporting_db import Reporting +from Powers.utils.extract_user import extract_user +from Powers import LOGGER, OWNER_ID, DEV_USERS, SUPPORT_GROUP, SUPPORT_STAFF from Powers.utils.caching import ( ADMIN_CACHE, TEMP_ADMIN_CACHE_BLOCK, admin_cache_reload) -from Powers.utils.chat_type import chattype from Powers.utils.custom_filters import ( DEV_LEVEL, command, admin_filter, owner_filter, promote_filter) -from Powers.utils.extract_user import extract_user -from Powers.utils.parser import mention_html +from pyrogram.errors import ( + RPCError, FloodWait, RightForbidden, UserAdminInvalid, ChatAdminRequired, + ChatAdminInviteRequired) @Gojo.on_message(command("adminlist")) diff --git a/Powers/plugins/antispam.py b/Powers/plugins/antispam.py index b81c9cd2f0b232c3d0a1b4fd6fe3758c0020da22..51c2ec5f0e3ef4efe9a89ee36f4dcf0a2502b50c 100644 --- a/Powers/plugins/antispam.py +++ b/Powers/plugins/antispam.py @@ -1,19 +1,17 @@ -from datetime import datetime from io import BytesIO +from datetime import datetime +from Powers.vars import Config from traceback import format_exc - -from pyrogram.types import Message -from pyrogram.errors import PeerIdInvalid, UserIsBlocked, MessageTooLong - -from Powers import LOGGER, MESSAGE_DUMP, SUPPORT_GROUP, SUPPORT_STAFF from Powers.bot_class import Gojo -from Powers.vars import Config -from Powers.database.antispam_db import GBan +from pyrogram.types import Message from Powers.database.users_db import Users -from Powers.utils.clean_file import remove_markdown_and_html +from Powers.database.antispam_db import GBan +from Powers.utils.parser import mention_html from Powers.utils.custom_filters import command from Powers.utils.extract_user import extract_user -from Powers.utils.parser import mention_html +from Powers.utils.clean_file import remove_markdown_and_html +from Powers import LOGGER, MESSAGE_DUMP, SUPPORT_GROUP, SUPPORT_STAFF +from pyrogram.errors import PeerIdInvalid, UserIsBlocked, MessageTooLong # Initialize diff --git a/Powers/plugins/approve.py b/Powers/plugins/approve.py index 207bf4a7cc51526be4aa1ea744a7b2de4a9fa20d..634466af74839fdf905fd863dd8afbde2f8f1622 100644 --- a/Powers/plugins/approve.py +++ b/Powers/plugins/approve.py @@ -1,14 +1,13 @@ from pyrogram import filters -from pyrogram.errors import RPCError, PeerIdInvalid, UserNotParticipant -from pyrogram.types import Message, CallbackQuery - -from Powers import LOGGER, SUPPORT_GROUP from Powers.bot_class import Gojo -from Powers.database.approve_db import Approve -from Powers.utils.custom_filters import command, admin_filter, owner_filter -from Powers.utils.extract_user import extract_user from Powers.utils.kbhelpers import ikb +from Powers import LOGGER, SUPPORT_GROUP from Powers.utils.parser import mention_html +from Powers.database.approve_db import Approve +from pyrogram.types import Message, CallbackQuery +from Powers.utils.extract_user import extract_user +from pyrogram.errors import RPCError, PeerIdInvalid, UserNotParticipant +from Powers.utils.custom_filters import command, admin_filter, owner_filter @Gojo.on_message(command("approve") & admin_filter) diff --git a/Powers/plugins/bans.py b/Powers/plugins/bans.py index 182fec9d62988ef23c441582a2299cf5eecc08b9..ce11f5f2932ed690ebead3b01b3800ff64a36647 100644 --- a/Powers/plugins/bans.py +++ b/Powers/plugins/bans.py @@ -1,25 +1,21 @@ from random import choice -from traceback import format_exc - from pyrogram import enums -from pyrogram.errors import ( - RPCError, PeerIdInvalid, RightForbidden, UserAdminInvalid, - ChatAdminRequired) -from pyrogram.filters import regex -from pyrogram.types import ( - Message, CallbackQuery, InlineKeyboardButton, InlineKeyboardMarkup) - -from Powers import LOGGER, OWNER_ID, SUPPORT_GROUP, SUPPORT_STAFF -from Powers.bot_class import Gojo from Powers.vars import Config -from Powers.utils.caching import ADMIN_CACHE, admin_cache_reload -from Powers.utils.custom_filters import command, restrict_filter -from Powers.utils.extract_user import extract_user -from Powers.utils.extras import BAN_GIFS, KICK_GIFS +from traceback import format_exc +from Powers.bot_class import Gojo +from pyrogram.filters import regex from Powers.utils.parser import mention_html from Powers.utils.string import extract_time - - +from Powers.utils.extract_user import extract_user +from Powers.utils.extras import BAN_GIFS, KICK_GIFS +from Powers.utils.caching import ADMIN_CACHE, admin_cache_reload +from Powers.utils.custom_filters import command, restrict_filter +from Powers import LOGGER, OWNER_ID, SUPPORT_GROUP, SUPPORT_STAFF +from pyrogram.types import ( + Message, CallbackQuery, InlineKeyboardButton, InlineKeyboardMarkup) +from pyrogram.errors import ( + RPCError, PeerIdInvalid, RightForbidden, UserAdminInvalid, + ChatAdminRequired) @Gojo.on_message(command("tban") & restrict_filter) diff --git a/Powers/plugins/blacklist.py b/Powers/plugins/blacklist.py index d3d7eff63971004350ca99f0708c177ae9dd5179..9365893b4d569713961b1b20b9ce65cbc6f3ba71 100644 --- a/Powers/plugins/blacklist.py +++ b/Powers/plugins/blacklist.py @@ -1,13 +1,11 @@ from html import escape - -from pyrogram import filters -from pyrogram.types import Message, CallbackQuery - from Powers import LOGGER +from pyrogram import filters from Powers.bot_class import Gojo +from Powers.utils.kbhelpers import ikb +from pyrogram.types import Message, CallbackQuery from Powers.database.blacklist_db import Blacklist from Powers.utils.custom_filters import command, owner_filter, restrict_filter -from Powers.utils.kbhelpers import ikb @Gojo.on_message(command("blacklist") & filters.group) diff --git a/Powers/plugins/botstaff.py b/Powers/plugins/botstaff.py index 2de4aa1f2587d713ebdeaeb14d199783f6260368..b9808ad372132020260357d79d0a059e4c7977dc 100644 --- a/Powers/plugins/botstaff.py +++ b/Powers/plugins/botstaff.py @@ -1,10 +1,9 @@ -from pyrogram.errors import RPCError -from pyrogram.types import Message - -from Powers import LOGGER, OWNER_ID, DEV_USERS, SUDO_USERS, WHITELIST_USERS from Powers.bot_class import Gojo -from Powers.utils.custom_filters import command +from pyrogram.types import Message +from pyrogram.errors import RPCError from Powers.utils.parser import mention_html +from Powers.utils.custom_filters import command +from Powers import LOGGER, OWNER_ID, DEV_USERS, SUDO_USERS, WHITELIST_USERS @Gojo.on_message(command("botstaff", dev_cmd=True)) diff --git a/Powers/plugins/chat_blacklist.py b/Powers/plugins/chat_blacklist.py index b9f14ccd461bbe0e1a38aefed98b99e2a1274328..89a6dc4b6d921482bb2029f8875c85fbea8237e8 100644 --- a/Powers/plugins/chat_blacklist.py +++ b/Powers/plugins/chat_blacklist.py @@ -1,12 +1,10 @@ -from traceback import format_exc - -from pyrogram.errors import RPCError, PeerIdInvalid -from pyrogram.types import Message - from Powers import LOGGER +from traceback import format_exc from Powers.bot_class import Gojo -from Powers.database.group_blacklist import GroupBlacklist +from pyrogram.types import Message from Powers.utils.custom_filters import command +from pyrogram.errors import RPCError, PeerIdInvalid +from Powers.database.group_blacklist import GroupBlacklist # initialise database diff --git a/Powers/plugins/dev.py b/Powers/plugins/dev.py index 08e6fd8109d4c6cef7fcca92a898ef28421b1562..bfa1680881835562906089761da5444fca7e5a7b 100644 --- a/Powers/plugins/dev.py +++ b/Powers/plugins/dev.py @@ -1,21 +1,19 @@ -from asyncio import sleep, subprocess, create_subprocess_shell -from io import BytesIO, StringIO import sys -from time import time, gmtime, strftime +from io import BytesIO, StringIO from traceback import format_exc - -from pyrogram.errors import ( - RPCError, FloodWait, PeerIdInvalid, ChannelInvalid, ChannelPrivate, - MessageTooLong, ChatAdminRequired) -from pyrogram.types import Message - -from Powers import LOGGER, UPTIME, LOGFILE, MESSAGE_DUMP from Powers.bot_class import Gojo +from pyrogram.types import Message +from Powers.utils.http_helper import * +from time import time, gmtime, strftime from Powers.database.chats_db import Chats -from Powers.utils.clean_file import remove_markdown_and_html from Powers.utils.custom_filters import command -from Powers.utils.http_helper import * from Powers.utils.parser import mention_markdown +from Powers import LOGGER, UPTIME, LOGFILE, MESSAGE_DUMP +from Powers.utils.clean_file import remove_markdown_and_html +from asyncio import sleep, subprocess, create_subprocess_shell +from pyrogram.errors import ( + RPCError, FloodWait, PeerIdInvalid, ChannelInvalid, ChannelPrivate, + MessageTooLong, ChatAdminRequired) @Gojo.on_message(command("ping", sudo_cmd=True)) diff --git a/Powers/plugins/disable.py b/Powers/plugins/disable.py index 4334103bfe9d3192ed265979805e93ef9016ddbe..05270eb1575df57af4a04f8bb08bb7e70097ba53 100644 --- a/Powers/plugins/disable.py +++ b/Powers/plugins/disable.py @@ -1,12 +1,10 @@ from html import escape - from pyrogram import filters -from pyrogram.types import ( - Message, CallbackQuery, InlineKeyboardButton, InlineKeyboardMarkup) - -from Powers import LOGGER, HELP_COMMANDS from Powers.bot_class import Gojo +from Powers import LOGGER, HELP_COMMANDS from Powers.database.disable_db import Disabling +from pyrogram.types import ( + Message, CallbackQuery, InlineKeyboardButton, InlineKeyboardMarkup) from Powers.utils.custom_filters import ( command, admin_filter, owner_filter, can_change_filter) diff --git a/Powers/plugins/filters.py b/Powers/plugins/filters.py index 2a7509930e5a2a4652f86d0f47e12eea928f05b2..7e2e78ce4949e4df0c51fe1e8bb93bb6a6748cc7 100644 --- a/Powers/plugins/filters.py +++ b/Powers/plugins/filters.py @@ -1,18 +1,16 @@ -from re import escape as re_escape from secrets import choice -from traceback import format_exc - from pyrogram import filters +from traceback import format_exc +from re import escape as re_escape from pyrogram.errors import RPCError -from pyrogram.types import Message, CallbackQuery, InlineKeyboardMarkup - +from Powers.utils.kbhelpers import ikb from Powers.bot_class import LOGGER, Gojo from Powers.utils.cmd_senders import send_cmd -from Powers.utils.kbhelpers import ikb from Powers.database.filters_db import Filters -from Powers.utils.custom_filters import command, admin_filter, owner_filter -from Powers.utils.msg_types import Types, get_filter_type from Powers.utils.regex_utils import regex_searcher +from Powers.utils.msg_types import Types, get_filter_type +from pyrogram.types import Message, CallbackQuery, InlineKeyboardMarkup +from Powers.utils.custom_filters import command, admin_filter, owner_filter from Powers.utils.string import ( parse_button, split_quotes, build_keyboard, escape_mentions_using_curly_brackets) diff --git a/Powers/plugins/formatting.py b/Powers/plugins/formatting.py index e35177f83e477a15b49b1d60d68dcd3201f8f861..8a5f8171283a5bbedf8508c024ad237b4f2b7299 100644 --- a/Powers/plugins/formatting.py +++ b/Powers/plugins/formatting.py @@ -1,10 +1,10 @@ -from pyrogram import enums, filters -from pyrogram.types import Message, CallbackQuery - from Powers import LOGGER from Powers.bot_class import Gojo -from Powers.utils.custom_filters import command +from pyrogram import enums, filters from Powers.utils.kbhelpers import ikb +from Powers.utils.custom_filters import command +from pyrogram.types import Message, CallbackQuery + async def gen_formatting_kb(m): return ikb( diff --git a/Powers/plugins/fun.py b/Powers/plugins/fun.py index dbaa98750f324b7c92d265d9a7539cde969b186e..51106b8c8a3f607d1e3fdf32f15bbe3a6cd582c2 100644 --- a/Powers/plugins/fun.py +++ b/Powers/plugins/fun.py @@ -1,13 +1,11 @@ from html import escape from random import choice - from pyrogram import enums -from pyrogram.errors import MessageTooLong +from Powers.utils import extras +from Powers.bot_class import Gojo from pyrogram.types import Message - from Powers import LOGGER, DEV_USERS -from Powers.bot_class import Gojo -from Powers.utils import extras +from pyrogram.errors import MessageTooLong from Powers.utils.custom_filters import command from Powers.utils.extract_user import extract_user from Powers.utils.extras import NOWYES as NO, YESWNO as YES diff --git a/Powers/plugins/greetings.py b/Powers/plugins/greetings.py index 431d8c96534d164aadb57175399e4c6adac46125..4437e2ac60e474d7c14f4bafcc026c3f4eb0c6fd 100644 --- a/Powers/plugins/greetings.py +++ b/Powers/plugins/greetings.py @@ -1,19 +1,17 @@ from html import escape from secrets import choice - -from pyrogram import enums, filters -from pyrogram.errors import RPCError, ChatAdminRequired -from pyrogram.types import Message, ChatMemberUpdated, InlineKeyboardMarkup - from Powers import DEV_USERS -from Powers.bot_class import Gojo from Powers.vars import Config +from Powers.bot_class import Gojo +from pyrogram import enums, filters +from Powers.utils.chat_type import chattype from Powers.database.antispam_db import GBan from Powers.database.greetings_db import Greetings -from Powers.utils.chat_type import chattype -from Powers.utils.custom_filters import command, admin_filter, bot_admin_filter from Powers.utils.msg_types import Types, get_wlcm_type +from pyrogram.errors import RPCError, ChatAdminRequired from Powers.utils.parser import mention_html, escape_markdown +from pyrogram.types import Message, ChatMemberUpdated, InlineKeyboardMarkup +from Powers.utils.custom_filters import command, admin_filter, bot_admin_filter from Powers.utils.string import ( parse_button, build_keyboard, escape_invalid_curly_brackets) diff --git a/Powers/plugins/info.py b/Powers/plugins/info.py index 28480b4f3f145bcada76e6c6319f0f1b4351b7a1..d2710fd01764fb3c291d351dc034797a9553a9c0 100644 --- a/Powers/plugins/info.py +++ b/Powers/plugins/info.py @@ -1,17 +1,15 @@ -from datetime import datetime import os -from traceback import format_exc - from pyrogram import enums -from pyrogram.types import Message - -from Powers import ( - LOGGER, DEV_USERS, SUDO_USERS, SUPPORT_STAFF, WHITELIST_USERS) +from datetime import datetime +from traceback import format_exc from Powers.bot_class import Gojo -from Powers.database.antispam_db import GBan +from pyrogram.types import Message from Powers.utils.chat_type import c_type +from Powers.database.antispam_db import GBan from Powers.utils.custom_filters import command from Powers.utils.extract_user import extract_user +from Powers import ( + LOGGER, DEV_USERS, SUDO_USERS, SUPPORT_STAFF, WHITELIST_USERS) gban_db = GBan() diff --git a/Powers/plugins/initial.py b/Powers/plugins/initial.py index 6cc6a675d210becee6b1b4d5f3a97f82cc984aaf..3cbd7790a1166ff24db5c43cb0338d0d1788c8ab 100644 --- a/Powers/plugins/initial.py +++ b/Powers/plugins/initial.py @@ -1,20 +1,19 @@ -from pyrogram import filters -from pyrogram.errors import RPCError -from pyrogram.types import Message - from Powers import LOGGER +from pyrogram import filters from Powers.bot_class import Gojo -from Powers.database.approve_db import Approve -from Powers.database.blacklist_db import Blacklist +from pyrogram.types import Message +from pyrogram.errors import RPCError +from Powers.database.pins_db import Pins from Powers.database.chats_db import Chats -from Powers.database.disable_db import Disabling +from Powers.database.rules_db import Rules +from Powers.database.users_db import Users +from Powers.database.approve_db import Approve from Powers.database.filters_db import Filters +from Powers.database.disable_db import Disabling +from Powers.database.blacklist_db import Blacklist from Powers.database.greetings_db import Greetings -from Powers.database.notes_db import Notes, NotesSettings -from Powers.database.pins_db import Pins from Powers.database.reporting_db import Reporting -from Powers.database.rules_db import Rules -from Powers.database.users_db import Users +from Powers.database.notes_db import Notes, NotesSettings @Gojo.on_message(filters.group, group=4) diff --git a/Powers/plugins/locks.py b/Powers/plugins/locks.py index 62178e3c7b6cf0e486da230e13eb58a172965a68..3267f432b2a10b7f29979e91da1c780c7faad217 100644 --- a/Powers/plugins/locks.py +++ b/Powers/plugins/locks.py @@ -1,12 +1,10 @@ -from asyncio import sleep - -from pyrogram.errors import RPCError, ChatNotModified, ChatAdminRequired -from pyrogram.types import Message, ChatPermissions - from Powers import LOGGER +from asyncio import sleep from Powers.bot_class import Gojo from Powers.database.approve_db import Approve +from pyrogram.types import Message, ChatPermissions from Powers.utils.custom_filters import command, restrict_filter +from pyrogram.errors import RPCError, ChatNotModified, ChatAdminRequired @Gojo.on_message(command("locktypes")) diff --git a/Powers/plugins/muting.py b/Powers/plugins/muting.py index f7cf96c57ac2085eeea955d498ea8879e3d331cf..9a2acb4303df060ccc77b78ddf13a41d0064fcae 100644 --- a/Powers/plugins/muting.py +++ b/Powers/plugins/muting.py @@ -1,22 +1,20 @@ from random import choice - +from Powers.vars import Config +from Powers.bot_class import Gojo +from pyrogram.filters import regex +from Powers.utils.extras import MUTE_GIFS +from Powers.utils.parser import mention_html +from Powers.utils.string import extract_time +from Powers.utils.extract_user import extract_user +from Powers.utils.caching import ADMIN_CACHE, admin_cache_reload +from Powers.utils.custom_filters import command, restrict_filter +from Powers import LOGGER, OWNER_ID, SUPPORT_GROUP, SUPPORT_STAFF from pyrogram.errors import ( RPCError, RightForbidden, ChatAdminRequired, UserNotParticipant) -from pyrogram.filters import regex from pyrogram.types import ( Message, CallbackQuery, ChatPermissions, InlineKeyboardButton, InlineKeyboardMarkup) -from Powers import LOGGER, OWNER_ID, SUPPORT_GROUP, SUPPORT_STAFF -from Powers.bot_class import Gojo -from Powers.vars import Config -from Powers.utils.caching import ADMIN_CACHE, admin_cache_reload -from Powers.utils.custom_filters import command, restrict_filter -from Powers.utils.extract_user import extract_user -from Powers.utils.extras import MUTE_GIFS -from Powers.utils.parser import mention_html -from Powers.utils.string import extract_time - @Gojo.on_message(command("tmute") & restrict_filter) async def tmute_usr(c: Gojo, m: Message): @@ -532,7 +530,10 @@ async def dmute_usr(c: Gojo, m: Message): ], ) await c.send_animation( - animation=choice(MUTE_GIFS), chat_id=m.chat.id, caption=txt, reply_markup=keyboard + animation=choice(MUTE_GIFS), + chat_id=m.chat.id, + caption=txt, + reply_markup=keyboard, ) except ChatAdminRequired: await m.reply_text(text="I'm not admin or I don't have rights.") diff --git a/Powers/plugins/notes.py b/Powers/plugins/notes.py index 0590defb47173e3539064a5a0a0e5ab123efaab2..0fec57e3110f88c2f2b61fef30d91bf43974cff3 100644 --- a/Powers/plugins/notes.py +++ b/Powers/plugins/notes.py @@ -1,18 +1,16 @@ +from Powers import LOGGER from secrets import choice +from Powers.vars import Config from traceback import format_exc - +from Powers.bot_class import Gojo from pyrogram import enums, filters from pyrogram.errors import RPCError -from pyrogram.types import Message, CallbackQuery, InlineKeyboardMarkup - -from Powers import LOGGER -from Powers.vars import Config -from Powers.bot_class import Gojo -from Powers.database.notes_db import Notes, NotesSettings -from Powers.utils.cmd_senders import send_cmd -from Powers.utils.custom_filters import command, admin_filter, owner_filter from Powers.utils.kbhelpers import ikb +from Powers.utils.cmd_senders import send_cmd from Powers.utils.msg_types import Types, get_note_type +from Powers.database.notes_db import Notes, NotesSettings +from pyrogram.types import Message, CallbackQuery, InlineKeyboardMarkup +from Powers.utils.custom_filters import command, admin_filter, owner_filter from Powers.utils.string import ( parse_button, build_keyboard, escape_mentions_using_curly_brackets) diff --git a/Powers/plugins/pin.py b/Powers/plugins/pin.py index c27e83eb36645d5632e4abc9b9fb2b1ca4b29463..70643eec25345c8b30e02d5045430b334bff8907 100644 --- a/Powers/plugins/pin.py +++ b/Powers/plugins/pin.py @@ -1,15 +1,13 @@ -from html import escape as escape_html - +from Powers.bot_class import Gojo from pyrogram.filters import regex -from pyrogram.errors import RPCError, RightForbidden, ChatAdminRequired -from pyrogram.types import Message, CallbackQuery - +from Powers.utils.kbhelpers import ikb +from html import escape as escape_html from Powers import LOGGER, SUPPORT_GROUP -from Powers.bot_class import Gojo from Powers.database.pins_db import Pins -from Powers.utils.custom_filters import command, admin_filter -from Powers.utils.kbhelpers import ikb +from pyrogram.types import Message, CallbackQuery from Powers.utils.string import parse_button, build_keyboard +from Powers.utils.custom_filters import command, admin_filter +from pyrogram.errors import RPCError, RightForbidden, ChatAdminRequired @Gojo.on_message(command("pin") & admin_filter) diff --git a/Powers/plugins/purge.py b/Powers/plugins/purge.py index dd3fb69fd54f285d3211519f038b58d37ac823d7..7b222809f5721e64c4fadea5ad3f0bd56754256b 100644 --- a/Powers/plugins/purge.py +++ b/Powers/plugins/purge.py @@ -1,11 +1,9 @@ from asyncio import sleep - -from pyrogram.types import Message -from pyrogram.errors import RPCError, MessageDeleteForbidden - from Powers import SUPPORT_GROUP from Powers.bot_class import Gojo +from pyrogram.types import Message from Powers.utils.chat_type import chattype +from pyrogram.errors import RPCError, MessageDeleteForbidden from Powers.utils.custom_filters import command, admin_filter diff --git a/Powers/plugins/report.py b/Powers/plugins/report.py index 16a5341d16f2e83f87c34ad878f0cc8278ec8f76..79a68b1141576a5a97da119c31372e7e435840b2 100644 --- a/Powers/plugins/report.py +++ b/Powers/plugins/report.py @@ -1,17 +1,15 @@ -from traceback import format_exc - from pyrogram import filters -from pyrogram.enums import ChatMembersFilter as cmf +from traceback import format_exc +from Powers.bot_class import Gojo from pyrogram.errors import RPCError -from pyrogram.types import Message, CallbackQuery - +from Powers.utils.kbhelpers import ikb from Powers import LOGGER, SUPPORT_STAFF -from Powers.bot_class import Gojo -from Powers.database.reporting_db import Reporting from Powers.utils.chat_type import chattype -from Powers.utils.custom_filters import command, admin_filter -from Powers.utils.kbhelpers import ikb from Powers.utils.parser import mention_html +from pyrogram.types import Message, CallbackQuery +from Powers.database.reporting_db import Reporting +from pyrogram.enums import ChatMembersFilter as cmf +from Powers.utils.custom_filters import command, admin_filter @Gojo.on_message( diff --git a/Powers/plugins/rules.py b/Powers/plugins/rules.py index 7f707bdeeddfe7c59199369e5f00f63b7fa4eeb2..99de4041e1d5a4ad307e581bb8e417e0de61c4a3 100644 --- a/Powers/plugins/rules.py +++ b/Powers/plugins/rules.py @@ -1,13 +1,11 @@ from Powers import LOGGER - from pyrogram import filters -from pyrogram.types import Message, CallbackQuery - from Powers.vars import Config from Powers.bot_class import Gojo +from Powers.utils.kbhelpers import ikb from Powers.database.rules_db import Rules +from pyrogram.types import Message, CallbackQuery from Powers.utils.custom_filters import command, admin_filter -from Powers.utils.kbhelpers import ikb @Gojo.on_message(command("rules") & filters.group) diff --git a/Powers/plugins/start.py b/Powers/plugins/start.py index fd059374b9676c65b7eab59dc2381c7737c0fe29..78bd2a8bc4bf92f193a12ae0adcc30ec2ff8550f 100644 --- a/Powers/plugins/start.py +++ b/Powers/plugins/start.py @@ -1,16 +1,14 @@ from random import choice - +from Powers.vars import Config +from Powers.bot_class import Gojo from pyrogram import enums, filters -from pyrogram.types import Message, CallbackQuery -from pyrogram.errors import UserIsBlocked, QueryIdInvalid, MessageNotModified - +from Powers.utils.kbhelpers import ikb from Powers import LOGGER, HELP_COMMANDS -from Powers.bot_class import Gojo -from Powers.vars import Config +from Powers.utils.extras import StartPic from Powers.utils.chat_type import chattype from Powers.utils.custom_filters import command -from Powers.utils.extras import StartPic -from Powers.utils.kbhelpers import ikb +from pyrogram.types import Message, CallbackQuery +from pyrogram.errors import UserIsBlocked, QueryIdInvalid, MessageNotModified from Powers.utils.start_utils import ( gen_cmds_kb, gen_start_kb, get_help_msg, get_private_note, get_private_rules) diff --git a/Powers/plugins/stats.py b/Powers/plugins/stats.py index d9df3cb00d25f0edde330f904689635ac94a00ea..d35439153e8c7f222ac01449e35c0ceb921622cb 100644 --- a/Powers/plugins/stats.py +++ b/Powers/plugins/stats.py @@ -1,20 +1,19 @@ from pyrogram import enums -from pyrogram.types import Message - from Powers.bot_class import Gojo +from pyrogram.types import Message +from Powers.database.pins_db import Pins +from Powers.database.chats_db import Chats +from Powers.database.rules_db import Rules +from Powers.database.users_db import Users from Powers.database.antispam_db import GBan from Powers.database.approve_db import Approve -from Powers.database.blacklist_db import Blacklist -from Powers.database.chats_db import Chats +from Powers.database.filters_db import Filters from Powers.utils.custom_filters import command from Powers.database.disable_db import Disabling -from Powers.database.filters_db import Filters +from Powers.database.blacklist_db import Blacklist from Powers.database.greetings_db import Greetings -from Powers.database.notes_db import Notes, NotesSettings -from Powers.database.pins_db import Pins -from Powers.database.rules_db import Rules -from Powers.database.users_db import Users from Powers.database.warns_db import Warns, WarnSettings +from Powers.database.notes_db import Notes, NotesSettings @Gojo.on_message(command("stats", dev_cmd=True)) diff --git a/Powers/plugins/utils.py b/Powers/plugins/utils.py index 4c271efc9eae8e742bbdbe935a27336612718865..addd0901c4376120dc4bb35b8a9c9fd2efb53304 100644 --- a/Powers/plugins/utils.py +++ b/Powers/plugins/utils.py @@ -1,28 +1,26 @@ +import re import aiofiles -from aiohttp import ClientSession -from gpytranslate import Translator -from io import BytesIO +from Powers import * from os import remove -import re -from search_engine_parser import GoogleSearch +from io import BytesIO from tswift import Song -from traceback import format_exc from wikipedia import summary -from wikipedia.exceptions import PageError, DisambiguationError - -from pyrogram import enums, filters -from pyrogram.errors import PeerIdInvalid, MessageTooLong -from pyrogram.types import Message, InlineKeyboardButton, InlineKeyboardMarkup - -from Powers import * +from traceback import format_exc from Powers.bot_class import Gojo +from aiohttp import ClientSession +from gpytranslate import Translator +from pyrogram import enums, filters +from Powers.utils.http_helper import * from Powers.database.users_db import Users from Powers.utils.chat_type import chattype -from Powers.utils.clean_file import remove_markdown_and_html +from Powers.utils.parser import mention_html +from search_engine_parser import GoogleSearch from Powers.utils.custom_filters import command from Powers.utils.extract_user import extract_user -from Powers.utils.http_helper import * -from Powers.utils.parser import mention_html +from pyrogram.errors import PeerIdInvalid, MessageTooLong +from Powers.utils.clean_file import remove_markdown_and_html +from wikipedia.exceptions import PageError, DisambiguationError +from pyrogram.types import Message, InlineKeyboardButton, InlineKeyboardMarkup @Gojo.on_message(command("wiki")) diff --git a/Powers/plugins/warns.py b/Powers/plugins/warns.py index bf518a96b5f97becfc8a577003bfaaa56b12e0b3..0f371ad83efc3f573bda0ab1c3f76078378628ac 100644 --- a/Powers/plugins/warns.py +++ b/Powers/plugins/warns.py @@ -1,21 +1,19 @@ from time import time - from pyrogram import filters +from Powers.vars import Config +from Powers.bot_class import Gojo from pyrogram.errors import RPCError -from pyrogram.types import ( - Message, CallbackQuery, ChatPermissions, InlineKeyboardButton, - InlineKeyboardMarkup) - from Powers import LOGGER, SUPPORT_STAFF -from Powers.bot_class import Gojo -from Powers.vars import Config from Powers.database.rules_db import Rules from Powers.database.users_db import Users -from Powers.utils.caching import ADMIN_CACHE, admin_cache_reload -from Powers.utils.custom_filters import command, admin_filter, restrict_filter -from Powers.utils.extract_user import extract_user from Powers.utils.parser import mention_html +from Powers.utils.extract_user import extract_user from Powers.database.warns_db import Warns, WarnSettings +from Powers.utils.caching import ADMIN_CACHE, admin_cache_reload +from Powers.utils.custom_filters import command, admin_filter, restrict_filter +from pyrogram.types import ( + Message, CallbackQuery, ChatPermissions, InlineKeyboardButton, + InlineKeyboardMarkup) @Gojo.on_message( diff --git a/Powers/plugins/watchers.py b/Powers/plugins/watchers.py index f05718d2f1da8c1368689efb8222d6873d4e10e5..96051de35d35b3e72670cc10306ce3fb2429338f 100644 --- a/Powers/plugins/watchers.py +++ b/Powers/plugins/watchers.py @@ -1,22 +1,20 @@ -from re import escape as re_escape from time import time -from traceback import format_exc - from pyrogram import filters -from pyrogram.errors import RPCError, UserAdminInvalid, ChatAdminRequired -from pyrogram.types import Message, ChatPermissions - -from Powers import LOGGER, MESSAGE_DUMP, SUPPORT_STAFF +from traceback import format_exc from Powers.bot_class import Gojo -from Powers.database.antispam_db import ANTISPAM_BANNED, GBan +from re import escape as re_escape +from Powers.database.pins_db import Pins +from Powers.utils.parser import mention_html from Powers.database.approve_db import Approve from Powers.database.blacklist_db import Blacklist -from Powers.database.group_blacklist import BLACKLIST_CHATS -from Powers.database.pins_db import Pins +from Powers.utils.regex_utils import regex_searcher +from pyrogram.types import Message, ChatPermissions +from Powers import LOGGER, MESSAGE_DUMP, SUPPORT_STAFF from Powers.database.warns_db import Warns, WarnSettings +from Powers.database.group_blacklist import BLACKLIST_CHATS +from Powers.database.antispam_db import ANTISPAM_BANNED, GBan from Powers.utils.caching import ADMIN_CACHE, admin_cache_reload -from Powers.utils.parser import mention_html -from Powers.utils.regex_utils import regex_searcher +from pyrogram.errors import RPCError, UserAdminInvalid, ChatAdminRequired # Initialise diff --git a/Powers/utils/admin_check.py b/Powers/utils/admin_check.py index 49390c11da9ad8a406d78202166113e496f77320..68230b780f2b8378e9b06d2a5e38dd22372df255 100644 --- a/Powers/utils/admin_check.py +++ b/Powers/utils/admin_check.py @@ -1,7 +1,5 @@ from traceback import format_exc - from pyrogram.types import Message, CallbackQuery - from Powers import LOGGER, OWNER_ID, DEV_USERS, SUDO_USERS diff --git a/Powers/utils/caching.py b/Powers/utils/caching.py index 171be0898bdb3a183f05953d5a38fb6fefda3a23..ec5eef031a6a65900d65b9e76101d30704fa238b 100644 --- a/Powers/utils/caching.py +++ b/Powers/utils/caching.py @@ -1,13 +1,12 @@ -from cachetools import TTLCache -from threading import RLock -from time import time, perf_counter from typing import List - +from Powers import LOGGER from pyrogram import enums +from threading import RLock +from cachetools import TTLCache +from time import time, perf_counter from pyrogram.types import CallbackQuery from pyrogram.types.messages_and_media.message import Message -from Powers import LOGGER THREAD_LOCK = RLock() diff --git a/Powers/utils/chat_type.py b/Powers/utils/chat_type.py index bbcbd2b093f322c435814b3e526b7e8120e2d502..e1f9428db9ae1eaf930b9970523c11a151a1a70d 100644 --- a/Powers/utils/chat_type.py +++ b/Powers/utils/chat_type.py @@ -1,7 +1,6 @@ -from pyrogram.enums import ChatType -from pyrogram.types import Message - from Powers.bot_class import Gojo +from pyrogram.types import Message +from pyrogram.enums import ChatType async def chattype(m: Message): diff --git a/Powers/utils/custom_filters.py b/Powers/utils/custom_filters.py index f514a455f9496825ff45f3f1beb380132b2715e9..77af838372a934988ed7804796a03df3af98f612 100644 --- a/Powers/utils/custom_filters.py +++ b/Powers/utils/custom_filters.py @@ -1,17 +1,15 @@ -from re import escape, compile as compile_re from shlex import split -from typing import List, Union - from pyrogram import enums -from pyrogram.errors import RPCError, UserNotParticipant +from Powers.vars import Config +from typing import List, Union from pyrogram.filters import create +from Powers.utils.chat_type import chattype +from re import escape, compile as compile_re +from Powers.database.disable_db import Disabling from pyrogram.types import Message, CallbackQuery - from Powers import OWNER_ID, DEV_USERS, SUDO_USERS -from Powers.database.disable_db import Disabling +from pyrogram.errors import RPCError, UserNotParticipant from Powers.utils.caching import ADMIN_CACHE, admin_cache_reload -from Powers.utils.chat_type import chattype -from Powers.vars import Config SUDO_LEVEL = set(SUDO_USERS + DEV_USERS + [int(OWNER_ID)]) diff --git a/Powers/utils/extract_user.py b/Powers/utils/extract_user.py index 909355dec7f96530af12f10d970b5d82a1b558a1..8eb3e67d184d21c04c30419ff2a9303f243a89ac 100644 --- a/Powers/utils/extract_user.py +++ b/Powers/utils/extract_user.py @@ -1,11 +1,9 @@ -from traceback import format_exc from typing import Tuple - -from pyrogram.types.messages_and_media.message import Message - from Powers import LOGGER +from traceback import format_exc from Powers.bot_class import Gojo from Powers.database.users_db import Users +from pyrogram.types.messages_and_media.message import Message async def extract_user(c: Gojo, m: Message) -> Tuple[int, str, str]: diff --git a/Powers/utils/msg_types.py b/Powers/utils/msg_types.py index 53af4b18c5f2dc1d03ece2672d9c1c6c4a1e670b..6c4b1382eb2de08c3f8bcef735ceeed708a195b9 100644 --- a/Powers/utils/msg_types.py +++ b/Powers/utils/msg_types.py @@ -1,5 +1,4 @@ from enum import IntEnum, unique - from pyrogram.types import Message diff --git a/Powers/utils/regex_utils.py b/Powers/utils/regex_utils.py index 60a942aa7bd4b92aa71f80af04a3d9704ccb12bb..5cade1fede354ad1ed702d1d30e38e2e1bc8ff37 100644 --- a/Powers/utils/regex_utils.py +++ b/Powers/utils/regex_utils.py @@ -1,7 +1,6 @@ from regex import search -from traceback import format_exc - from Powers import LOGGER +from traceback import format_exc async def regex_searcher(regex_string: str, string: str) -> str: diff --git a/Powers/utils/start_utils.py b/Powers/utils/start_utils.py index e88660ce68bf9803749ec40ddd835f83596f21a4..8bc096040969c485674b98d15c2790c47c8ba330 100644 --- a/Powers/utils/start_utils.py +++ b/Powers/utils/start_utils.py @@ -1,19 +1,17 @@ from html import escape from secrets import choice +from Powers.vars import Config from traceback import format_exc - -from pyrogram.errors import RPCError -from pyrogram.types import Message, CallbackQuery, InlineKeyboardButton - -from Powers import LOGGER, HELP_COMMANDS, SUPPORT_GROUP from Powers.bot_class import Gojo -from Powers.vars import Config +from pyrogram.errors import RPCError +from Powers.utils.kbhelpers import ikb +from Powers.utils.msg_types import Types from Powers.database.chats_db import Chats from Powers.database.notes_db import Notes from Powers.database.rules_db import Rules from Powers.utils.cmd_senders import send_cmd -from Powers.utils.kbhelpers import ikb -from Powers.utils.msg_types import Types +from Powers import LOGGER, HELP_COMMANDS, SUPPORT_GROUP +from pyrogram.types import Message, CallbackQuery, InlineKeyboardButton from Powers.utils.string import ( parse_button, build_keyboard, escape_mentions_using_curly_brackets) @@ -262,4 +260,4 @@ Commands available: ], ] - return help_msg, help_kb \ No newline at end of file + return help_msg, help_kb diff --git a/Powers/utils/string.py b/Powers/utils/string.py index 37fcdabb890ad31e34c63b8f2b57a64ff49cac92..810fdb6c4d20285022e8383dab96494414762cee 100644 --- a/Powers/utils/string.py +++ b/Powers/utils/string.py @@ -1,12 +1,10 @@ -from html import escape -from re import compile as compile_re from time import time +from html import escape from typing import List - -from pyrogram.types import Message, InlineKeyboardButton - +from re import compile as compile_re from Powers.utils.chat_type import chattype from Powers.utils.parser import escape_markdown +from pyrogram.types import Message, InlineKeyboardButton BTN_URL_REGEX = compile_re(r"(\[([^\[]+?)\]\(buttonurl:(?:/{0,2})(.+?)(:same)?\))")