diff --git a/Powers/bot_class.py b/Powers/bot_class.py index ebb0dec59288c150160a89d2dfefa628cc41c18d..c4c233fed31eddc190e7c640d6a0f85c36d7270f 100644 --- a/Powers/bot_class.py +++ b/Powers/bot_class.py @@ -1,16 +1,26 @@ -import asyncio 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 Powers.plugins import all_plugins from time import time, gmtime, strftime + +from pyrogram.raw.all import layer from pyrogram import Client, __version__ + +from Powers.vars import Config +from Powers.database import MongoDB +from Powers.plugins import all_plugins from Powers import ( - API_ID, LOGGER, UPTIME, LOGFILE, NO_LOAD, WORKERS, API_HASH, BOT_TOKEN, - LOG_DATETIME, MESSAGE_DUMP, load_cmds) + API_ID, + LOGGER, + UPTIME, + LOGFILE, + NO_LOAD, + WORKERS, + API_HASH, + BOT_TOKEN, + LOG_DATETIME, + MESSAGE_DUMP, + load_cmds) INITIAL_LOCK = RLock() diff --git a/Powers/database/__init__.py b/Powers/database/__init__.py index b96d862f80f3a2539a18f40e0a939b1cdca7e569..477ae815d8ba2314c92641f3324659a46b1b19c0 100644 --- a/Powers/database/__init__.py +++ b/Powers/database/__init__.py @@ -1,6 +1,8 @@ from sys import exit as exiter + from pymongo import MongoClient from pymongo.errors import PyMongoError + from Powers import DB_URI, LOGGER, DB_NAME diff --git a/Powers/database/antispam_db.py b/Powers/database/antispam_db.py index bb1f457dd1cda96753a249b46408aa0e1f4dcbf2..6477815857fca56331347100a112073c74836c30 100644 --- a/Powers/database/antispam_db.py +++ b/Powers/database/antispam_db.py @@ -1,5 +1,6 @@ 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 617e4716cdd6e027f46164e48b74711d686fd318..d33140affc3ff51f40a16d5a46cdc3bcf542266b 100644 --- a/Powers/database/approve_db.py +++ b/Powers/database/approve_db.py @@ -1,5 +1,6 @@ -from Powers import LOGGER from threading import RLock + +from Powers import LOGGER from Powers.database import MongoDB diff --git a/Powers/database/blacklist_db.py b/Powers/database/blacklist_db.py index 2295038466416694c6963b049ba417357e9b723d..75108180e1d69464a54128602dcabf3f5b9db7f5 100644 --- a/Powers/database/blacklist_db.py +++ b/Powers/database/blacklist_db.py @@ -1,6 +1,7 @@ from time import time -from Powers import LOGGER from threading import RLock + +from Powers import LOGGER from Powers.database import MongoDB diff --git a/Powers/database/chats_db.py b/Powers/database/chats_db.py index 0ce13d5bb20cfd9704fb0bb36ab897715ae4cc39..5bdaf2666eee817c4599aba7b7d249dd45309b17 100644 --- a/Powers/database/chats_db.py +++ b/Powers/database/chats_db.py @@ -1,6 +1,7 @@ from time import time -from Powers import LOGGER from threading import RLock + +from Powers import LOGGER from Powers.database import MongoDB diff --git a/Powers/database/disable_db.py b/Powers/database/disable_db.py index fb2c294b78631eded649d645477f4289c3376f93..f4fa11c21c28eb0f0027a08b681aff21bf781abd 100644 --- a/Powers/database/disable_db.py +++ b/Powers/database/disable_db.py @@ -1,6 +1,7 @@ from time import time -from Powers import LOGGER from threading import RLock + +from Powers import LOGGER from Powers.database import MongoDB diff --git a/Powers/database/filters_db.py b/Powers/database/filters_db.py index 3df3c6e3dfc356971f2750040ee887cecd8a585b..1c9161d746b9c24231997d2f54df43be02a33210 100644 --- a/Powers/database/filters_db.py +++ b/Powers/database/filters_db.py @@ -1,4 +1,5 @@ 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 84ef6c21e25ee19be99b17954f6fe9ca98d0c5c7..52a1b8fd44fba7224692b6a7104cc4b31ded6dd1 100644 --- a/Powers/database/greetings_db.py +++ b/Powers/database/greetings_db.py @@ -1,5 +1,6 @@ -from Powers import LOGGER from threading import RLock + +from Powers import LOGGER from Powers.database import MongoDB diff --git a/Powers/database/group_blacklist.py b/Powers/database/group_blacklist.py index d47260522c738e1848d9edb1e00b89cfa562d07c..c857e4c8d4c7030c6b35e01339a47e89305b510c 100644 --- a/Powers/database/group_blacklist.py +++ b/Powers/database/group_blacklist.py @@ -1,4 +1,5 @@ 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 fb9afe66a681a190f65252b039cc8b2631fc0c9c..37121ce147d2760bc21752909ad1e637a598d1d1 100644 --- a/Powers/database/notes_db.py +++ b/Powers/database/notes_db.py @@ -1,6 +1,7 @@ from time import time from hashlib import md5 from threading import RLock + 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 884d8a48c56f16f13d291e4545b2a27529f0b8e6..6b591be91fbcadca1290460f0b284db325b9b47a 100644 --- a/Powers/database/pins_db.py +++ b/Powers/database/pins_db.py @@ -1,5 +1,6 @@ -from Powers import LOGGER from threading import RLock + +from Powers import LOGGER from Powers.database import MongoDB diff --git a/Powers/database/reporting_db.py b/Powers/database/reporting_db.py index fb0385c4934b9fd702d29b2de8f4a8b2535f922d..dec0f424b9b8214c490c471edd75be75b9c27bbd 100644 --- a/Powers/database/reporting_db.py +++ b/Powers/database/reporting_db.py @@ -1,6 +1,7 @@ from time import time -from Powers import LOGGER from threading import RLock + +from Powers import LOGGER from Powers.database import MongoDB diff --git a/Powers/database/rules_db.py b/Powers/database/rules_db.py index a0cfe90c96cc4e1fa9b5ac0d6714b4e0841b8831..2536b21ebb025b6b4adf01a7e6f67322feea039f 100644 --- a/Powers/database/rules_db.py +++ b/Powers/database/rules_db.py @@ -1,6 +1,7 @@ from time import time -from Powers import LOGGER from threading import RLock + +from Powers import LOGGER from Powers.database import MongoDB diff --git a/Powers/database/users_db.py b/Powers/database/users_db.py index 45ad1183a1752ce7813c34edb6bc059fbd1e4ac0..03f656a19a622485bb2dfff436cff86aa3b35ae0 100644 --- a/Powers/database/users_db.py +++ b/Powers/database/users_db.py @@ -1,6 +1,7 @@ from time import time -from Powers import LOGGER from threading import RLock + +from Powers import LOGGER from Powers.database import MongoDB diff --git a/Powers/database/warns_db.py b/Powers/database/warns_db.py index 696dcdb8fac64bb167ea5973c8ed44a8e139db23..0988441932cd598548319c2f4eee229df435bb56 100644 --- a/Powers/database/warns_db.py +++ b/Powers/database/warns_db.py @@ -1,6 +1,7 @@ from time import time -from Powers import LOGGER from threading import RLock + +from Powers import LOGGER from Powers.database import MongoDB diff --git a/Powers/plugins/admin.py b/Powers/plugins/admin.py index 7ba67477d818d7c2803e5df903ae9401d6d06eb0..3afa156650e276d6dbff11a5d6572afca259a7a0 100644 --- a/Powers/plugins/admin.py +++ b/Powers/plugins/admin.py @@ -1,11 +1,16 @@ from os import remove from html import escape from asyncio import sleep +from traceback import format_exc + from pyrogram import filters +from pyrogram.types import Message +from pyrogram.errors import ( + RPCError, FloodWait, RightForbidden, UserAdminInvalid, ChatAdminRequired, + ChatAdminInviteRequired) + from Powers.vars import Config -from traceback import format_exc from Powers.bot_class import Gojo -from pyrogram.types import Message from Powers.utils.chat_type import chattype from Powers.utils.parser import mention_html from Powers.database.approve_db import Approve @@ -16,9 +21,7 @@ from Powers.utils.caching import ( ADMIN_CACHE, TEMP_ADMIN_CACHE_BLOCK, admin_cache_reload) from Powers.utils.custom_filters import ( DEV_LEVEL, command, admin_filter, owner_filter, promote_filter) -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 51c2ec5f0e3ef4efe9a89ee36f4dcf0a2502b50c..e13b1f807272f72e9f32b1c5ff8317c99788086b 100644 --- a/Powers/plugins/antispam.py +++ b/Powers/plugins/antispam.py @@ -1,9 +1,11 @@ from io import BytesIO from datetime import datetime -from Powers.vars import Config from traceback import format_exc -from Powers.bot_class import Gojo + from pyrogram.types import Message +from pyrogram.errors import PeerIdInvalid, UserIsBlocked, MessageTooLong + +from Powers.vars import Config from Powers.database.users_db import Users from Powers.database.antispam_db import GBan from Powers.utils.parser import mention_html @@ -11,7 +13,7 @@ from Powers.utils.custom_filters import command from Powers.utils.extract_user import extract_user 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 +from Powers.bot_class import Gojo # Initialize diff --git a/Powers/plugins/approve.py b/Powers/plugins/approve.py index 95d3b0c5083f7652602f2375a9fe3cb0cf519b3d..41666fd41f5b870b3519f73e5382ce7f76cfffaf 100644 --- a/Powers/plugins/approve.py +++ b/Powers/plugins/approve.py @@ -1,12 +1,13 @@ from pyrogram import filters +from pyrogram.types import Message, CallbackQuery, ChatPermissions +from pyrogram.errors import RPCError, PeerIdInvalid, UserNotParticipant + from Powers.bot_class import Gojo 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 Powers.utils.extract_user import extract_user -from pyrogram.types import Message, CallbackQuery, ChatPermissions -from pyrogram.errors import RPCError, PeerIdInvalid, UserNotParticipant from Powers.utils.custom_filters import command, admin_filter, owner_filter diff --git a/Powers/plugins/bans.py b/Powers/plugins/bans.py index 2c883822a715161721bc0608934cd1faefa784f4..967b049bbb0f355b0c9aec683bb9cd6d518020fc 100644 --- a/Powers/plugins/bans.py +++ b/Powers/plugins/bans.py @@ -1,8 +1,14 @@ from random import choice -from Powers.vars import Config from traceback import format_exc -from Powers.bot_class import Gojo + from pyrogram.filters import regex +from pyrogram.types import ( + Message, CallbackQuery, InlineKeyboardButton, InlineKeyboardMarkup) +from pyrogram.errors import ( + RPCError, PeerIdInvalid, RightForbidden, UserAdminInvalid, + ChatAdminRequired) + +from Powers.bot_class import Gojo from Powers.utils.parser import mention_html from Powers.utils.string import extract_time from Powers.utils.extract_user import extract_user @@ -10,12 +16,7 @@ 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) - +from Powers.vars import Config BAN_MEDIA = choice(BAN_GIFS) KICK_MEDIA = choice(KICK_GIFS) diff --git a/Powers/plugins/blacklist.py b/Powers/plugins/blacklist.py index 9365893b4d569713961b1b20b9ce65cbc6f3ba71..95bc87668827acc1e9c3b1ea65e9f3063f74ac72 100644 --- a/Powers/plugins/blacklist.py +++ b/Powers/plugins/blacklist.py @@ -1,9 +1,11 @@ from html import escape -from Powers import LOGGER + from pyrogram import filters +from pyrogram.types import Message, CallbackQuery + from Powers.bot_class import Gojo from Powers.utils.kbhelpers import ikb -from pyrogram.types import Message, CallbackQuery +from Powers import LOGGER from Powers.database.blacklist_db import Blacklist from Powers.utils.custom_filters import command, owner_filter, restrict_filter diff --git a/Powers/plugins/botstaff.py b/Powers/plugins/botstaff.py index b9808ad372132020260357d79d0a059e4c7977dc..73dc2a103e610cf1b3138da21f2c475d8fb20c03 100644 --- a/Powers/plugins/botstaff.py +++ b/Powers/plugins/botstaff.py @@ -1,6 +1,7 @@ -from Powers.bot_class import Gojo from pyrogram.types import Message from pyrogram.errors import RPCError + +from Powers.bot_class import Gojo 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 diff --git a/Powers/plugins/chat_blacklist.py b/Powers/plugins/chat_blacklist.py index 89a6dc4b6d921482bb2029f8875c85fbea8237e8..a1d89ed3879671af9e7219ec532dc4e667073add 100644 --- a/Powers/plugins/chat_blacklist.py +++ b/Powers/plugins/chat_blacklist.py @@ -1,9 +1,11 @@ -from Powers import LOGGER from traceback import format_exc -from Powers.bot_class import Gojo + from pyrogram.types import Message -from Powers.utils.custom_filters import command from pyrogram.errors import RPCError, PeerIdInvalid + +from Powers import LOGGER +from Powers.bot_class import Gojo +from Powers.utils.custom_filters import command from Powers.database.group_blacklist import GroupBlacklist diff --git a/Powers/plugins/dev.py b/Powers/plugins/dev.py index 999e4a6bd9bfcd329ef0de76aac81bf5a56543c9..dd7b0360378de12e6a31109c66a87bbff164d343 100644 --- a/Powers/plugins/dev.py +++ b/Powers/plugins/dev.py @@ -1,20 +1,21 @@ import sys -from Powers.vars import Config +from time import time, gmtime, strftime from io import BytesIO, StringIO from traceback import format_exc -from Powers.bot_class import Gojo +from asyncio import sleep, subprocess, create_subprocess_shell + from pyrogram.types import Message +from pyrogram.errors import ( + RPCError, FloodWait, PeerIdInvalid, ChannelInvalid, ChannelPrivate, + MessageTooLong, ChatAdminRequired) + +from Powers.bot_class import Gojo from Powers.utils.http_helper import * -from time import time, gmtime, strftime from Powers.database.chats_db import Chats from Powers.utils.custom_filters import command 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 05270eb1575df57af4a04f8bb08bb7e70097ba53..086e80c3e76c369e0503fc76b5c131dc9eb8cd51 100644 --- a/Powers/plugins/disable.py +++ b/Powers/plugins/disable.py @@ -1,10 +1,12 @@ from html import escape + from pyrogram import filters +from pyrogram.types import ( + Message, CallbackQuery, InlineKeyboardButton, InlineKeyboardMarkup) + 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 ff53db6c37d019a267c7402c966a441974dd7769..236421cc72cff0907bb3d26c5f717f4f397d3670 100644 --- a/Powers/plugins/filters.py +++ b/Powers/plugins/filters.py @@ -1,15 +1,17 @@ from secrets import choice -from pyrogram import filters from traceback import format_exc from re import escape as re_escape + +from pyrogram import filters 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.database.filters_db import Filters 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, diff --git a/Powers/plugins/formatting.py b/Powers/plugins/formatting.py index c4dbebe2fb3041cf98d03effebe771ad3a5c01f6..a49e99251a77ca096f4b2b2b562269cba1dad9f4 100644 --- a/Powers/plugins/formatting.py +++ b/Powers/plugins/formatting.py @@ -1,10 +1,10 @@ -from Powers import LOGGER from pyrogram import filters +from pyrogram.types import Message, CallbackQuery + from Powers.bot_class import Gojo from Powers.utils.kbhelpers import ikb from Powers.utils.custom_filters import command -from pyrogram.types import Message, CallbackQuery - +from Powers import LOGGER async def gen_formatting_kb(m): return ikb( diff --git a/Powers/plugins/fun.py b/Powers/plugins/fun.py index a20b9c1342f4b5fc4e769a0cb6bdc603a43187aa..caf9d4e35ceda0523ef68b40bf989698114fec1a 100644 --- a/Powers/plugins/fun.py +++ b/Powers/plugins/fun.py @@ -1,10 +1,12 @@ from html import escape from random import choice + +from pyrogram.types import Message +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 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 72c9a1efeb541cb94917f7fb7d5fe4dd3c061a58..d5efe40348dda932868330ccd6bfb2c16c8e8f63 100644 --- a/Powers/plugins/greetings.py +++ b/Powers/plugins/greetings.py @@ -1,16 +1,18 @@ from html import escape from secrets import choice -from Powers import DEV_USERS + from pyrogram import filters +from pyrogram.types import Message, ChatMemberUpdated, InlineKeyboardMarkup +from pyrogram.errors import RPCError, ChatAdminRequired + +from Powers import DEV_USERS from Powers.vars import Config from Powers.bot_class import Gojo from Powers.utils.chat_type import chattype from Powers.database.antispam_db import GBan from Powers.database.greetings_db import Greetings 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 b174a9bf636099344ea6385f9a2b9fb750c32bcb..d7678435657300044e17979f20dc1e2891d62767 100644 --- a/Powers/plugins/info.py +++ b/Powers/plugins/info.py @@ -1,11 +1,12 @@ import os -from pyrogram import enums from datetime import datetime from traceback import format_exc -from Powers.bot_class import Gojo + from pyrogram.types import Message +from pyrogram import enums + +from Powers.bot_class import Gojo from Powers.utils.chat_type import c_type -from Powers.database.users_db import Users from Powers.database.antispam_db import GBan from Powers.utils.custom_filters import command from Powers.utils.extract_user import extract_user @@ -43,14 +44,6 @@ async def count(c: Gojo, chat): async def user_info(c: Gojo, user, already=False): if not already: - # try: - # user = Users.get_user_info(int(user)) # Try to fetch user info form database if available give key error if user is not present - # user = user["_id"] - # user = await c.get_users(user_ids=user) - # except KeyError: - # LOGGER.warning(f"Calling api to fetch info about user {user}") - # user = await c.get_users(user_ids=user) # Fetch user info in - # traditional way if not available in db user = await c.get_users(user_ids=user) if not user.first_name: return ["Deleted account", None] diff --git a/Powers/plugins/initial.py b/Powers/plugins/initial.py index 3cbd7790a1166ff24db5c43cb0338d0d1788c8ab..849244ce3f502012fa4e91373e79963d42c36d3e 100644 --- a/Powers/plugins/initial.py +++ b/Powers/plugins/initial.py @@ -1,8 +1,9 @@ -from Powers import LOGGER from pyrogram import filters -from Powers.bot_class import Gojo from pyrogram.types import Message from pyrogram.errors import RPCError + +from Powers import LOGGER +from Powers.bot_class import Gojo from Powers.database.pins_db import Pins from Powers.database.chats_db import Chats from Powers.database.rules_db import Rules diff --git a/Powers/plugins/locks.py b/Powers/plugins/locks.py index 3267f432b2a10b7f29979e91da1c780c7faad217..674273fcf9530bfbe93546d30fb5b7f08d60ffda 100644 --- a/Powers/plugins/locks.py +++ b/Powers/plugins/locks.py @@ -1,10 +1,12 @@ -from Powers import LOGGER from asyncio import sleep + +from pyrogram.types import Message, ChatPermissions +from pyrogram.errors import RPCError, ChatNotModified, ChatAdminRequired + +from Powers import LOGGER 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 c91c475c94f30a375b2475b351704c17a6d66d5f..4ad90a6e6124fef159f9588180e6f32c0ce6b1ec 100644 --- a/Powers/plugins/muting.py +++ b/Powers/plugins/muting.py @@ -1,7 +1,14 @@ from random import choice + +from pyrogram.filters import regex +from pyrogram.errors import ( + RPCError, RightForbidden, ChatAdminRequired, UserNotParticipant) +from pyrogram.types import ( + Message, CallbackQuery, ChatPermissions, InlineKeyboardButton, + InlineKeyboardMarkup) + 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 @@ -9,11 +16,6 @@ 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.types import ( - Message, CallbackQuery, ChatPermissions, InlineKeyboardButton, - InlineKeyboardMarkup) MUTE_MEDIA = choice(MUTE_GIFS) diff --git a/Powers/plugins/notes.py b/Powers/plugins/notes.py index 797b16fc4a11f9b265553ce4e329c8d515c5fab8..0849e75dd35f189bc2f060682af71b9d3ac63ab5 100644 --- a/Powers/plugins/notes.py +++ b/Powers/plugins/notes.py @@ -1,15 +1,18 @@ -from Powers import LOGGER + from secrets import choice +from traceback import format_exc + from pyrogram import filters +from pyrogram.errors import RPCError +from pyrogram.types import Message, CallbackQuery, InlineKeyboardMarkup + from Powers.vars import Config -from traceback import format_exc +from Powers import LOGGER from Powers.bot_class import Gojo -from pyrogram.errors import RPCError 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 70643eec25345c8b30e02d5045430b334bff8907..55331709add80cf37d5e20d6262ad14406f0133f 100644 --- a/Powers/plugins/pin.py +++ b/Powers/plugins/pin.py @@ -1,13 +1,16 @@ -from Powers.bot_class import Gojo +from html import escape as escape_html + +from pyrogram.types import Message, CallbackQuery from pyrogram.filters import regex +from pyrogram.errors import RPCError, RightForbidden, ChatAdminRequired + from Powers.utils.kbhelpers import ikb -from html import escape as escape_html +from Powers.bot_class import Gojo from Powers import LOGGER, SUPPORT_GROUP from Powers.database.pins_db import Pins -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 334c5fff970625b6f6e5852fb0a288a50d591e54..1ac8af879eb6135a12e8730000dde89f89fe3791 100644 --- a/Powers/plugins/purge.py +++ b/Powers/plugins/purge.py @@ -1,9 +1,11 @@ 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 79a68b1141576a5a97da119c31372e7e435840b2..2e39cbdb111806831ac9dbf2036bae0fa00ddf3a 100644 --- a/Powers/plugins/report.py +++ b/Powers/plugins/report.py @@ -1,14 +1,16 @@ -from pyrogram import filters from traceback import format_exc -from Powers.bot_class import Gojo + +from pyrogram import filters from pyrogram.errors import RPCError +from pyrogram.types import Message, CallbackQuery +from pyrogram.enums import ChatMembersFilter as cmf + +from Powers.bot_class import Gojo from Powers.utils.kbhelpers import ikb from Powers import LOGGER, SUPPORT_STAFF from Powers.utils.chat_type import chattype 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 diff --git a/Powers/plugins/rules.py b/Powers/plugins/rules.py index 99de4041e1d5a4ad307e581bb8e417e0de61c4a3..8281893dbf78aff373fa14284b4e1efc3f1c6f0e 100644 --- a/Powers/plugins/rules.py +++ b/Powers/plugins/rules.py @@ -1,10 +1,12 @@ -from Powers import LOGGER +from pyrogram.types import Message, CallbackQuery from pyrogram import filters + +from Powers import LOGGER 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 diff --git a/Powers/plugins/start.py b/Powers/plugins/start.py index 5bd1dab2541addadcad7b39ac2bb532837fa6a74..0df8343abadff833c38a7649da9eb2e0fb714853 100644 --- a/Powers/plugins/start.py +++ b/Powers/plugins/start.py @@ -1,5 +1,9 @@ from random import choice + from pyrogram import filters +from pyrogram.types import Message, CallbackQuery +from pyrogram.errors import UserIsBlocked, QueryIdInvalid, MessageNotModified + from Powers.vars import Config from Powers.bot_class import Gojo from Powers.utils.kbhelpers import ikb @@ -7,8 +11,6 @@ from Powers import LOGGER, HELP_COMMANDS from Powers.utils.extras import StartPic from Powers.utils.chat_type import chattype from Powers.utils.custom_filters import command -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 a441a0a733a2d2aaf0ea21d41a71c2ffe1c1cd76..83bb099acda20ecbae9f40ce8e8a94ea8c9c0859 100644 --- a/Powers/plugins/stats.py +++ b/Powers/plugins/stats.py @@ -1,5 +1,6 @@ -from Powers.bot_class import Gojo from pyrogram.types import Message + +from Powers.bot_class import Gojo from Powers.database.pins_db import Pins from Powers.database.chats_db import Chats from Powers.database.rules_db import Rules diff --git a/Powers/plugins/utils.py b/Powers/plugins/utils.py index 6d27eb456a0070c626b396608ebd7b9b8ceb705d..486fd4cc27268558ae793794251a96ac36593184 100644 --- a/Powers/plugins/utils.py +++ b/Powers/plugins/utils.py @@ -1,29 +1,31 @@ import re import aiofiles -from Powers import * from os import remove from io import BytesIO from tswift import Song -from pyrogram import filters -from datetime import datetime +from wikipedia.exceptions import PageError, DisambiguationError from wikipedia import summary -from Powers.vars import Config from traceback import format_exc -from Powers.bot_class import Gojo -from aiohttp import ClientSession from gpytranslate import Translator +from search_engine_parser import GoogleSearch +from aiohttp import ClientSession + +from pyrogram.errors import PeerIdInvalid, MessageTooLong +from pyrogram.types import Message, InlineKeyboardButton, InlineKeyboardMarkup +from pyrogram import filters + +from Powers import * +from Powers.bot_class import Gojo + from Powers.utils.http_helper import * -from Powers.utils.kbhelpers import ikb from Powers.database.users_db import Users from Powers.utils.chat_type import chattype 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.clean_file import remove_markdown_and_html -from wikipedia.exceptions import PageError, DisambiguationError -from pyrogram.errors import RPCError, PeerIdInvalid, MessageTooLong -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 0f371ad83efc3f573bda0ab1c3f76078378628ac..af98d955fd6fd63b97473d1089d1816b50d51534 100644 --- a/Powers/plugins/warns.py +++ b/Powers/plugins/warns.py @@ -1,8 +1,13 @@ from time import time + from pyrogram import filters +from pyrogram.errors import RPCError +from pyrogram.types import ( + Message, CallbackQuery, ChatPermissions, InlineKeyboardButton, + InlineKeyboardMarkup) + from Powers.vars import Config from Powers.bot_class import Gojo -from pyrogram.errors import RPCError from Powers import LOGGER, SUPPORT_STAFF from Powers.database.rules_db import Rules from Powers.database.users_db import Users @@ -11,9 +16,6 @@ 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 96051de35d35b3e72670cc10306ce3fb2429338f..1f52aaee47b44279afc2f04dde4cfefa7c3f79e0 100644 --- a/Powers/plugins/watchers.py +++ b/Powers/plugins/watchers.py @@ -1,20 +1,23 @@ from time import time -from pyrogram import filters from traceback import format_exc -from Powers.bot_class import Gojo from re import escape as re_escape + +from pyrogram import filters +from pyrogram.types import Message, ChatPermissions +from pyrogram.errors import RPCError, UserAdminInvalid, ChatAdminRequired + +from Powers.bot_class import Gojo 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.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 pyrogram.errors import RPCError, UserAdminInvalid, ChatAdminRequired + # Initialise diff --git a/Powers/utils/admin_check.py b/Powers/utils/admin_check.py index 68230b780f2b8378e9b06d2a5e38dd22372df255..49390c11da9ad8a406d78202166113e496f77320 100644 --- a/Powers/utils/admin_check.py +++ b/Powers/utils/admin_check.py @@ -1,5 +1,7 @@ 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 ec5eef031a6a65900d65b9e76101d30704fa238b..3eb2ab177c4cd2d0aa7505159ae06ffacf1b26b4 100644 --- a/Powers/utils/caching.py +++ b/Powers/utils/caching.py @@ -1,12 +1,14 @@ 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 import enums 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 e1f9428db9ae1eaf930b9970523c11a151a1a70d..8426eca16318f770e74f96de1ec1693128957b8c 100644 --- a/Powers/utils/chat_type.py +++ b/Powers/utils/chat_type.py @@ -1,7 +1,7 @@ -from Powers.bot_class import Gojo from pyrogram.types import Message from pyrogram.enums import ChatType +from Powers.bot_class import Gojo async def chattype(m: Message): # To get chat type with message diff --git a/Powers/utils/custom_filters.py b/Powers/utils/custom_filters.py index 77af838372a934988ed7804796a03df3af98f612..ec148840c226ade07935acdd7219d073c8e1f15b 100644 --- a/Powers/utils/custom_filters.py +++ b/Powers/utils/custom_filters.py @@ -1,14 +1,16 @@ from shlex import split -from pyrogram import enums -from Powers.vars import Config from typing import List, Union +from re import escape, compile as compile_re + +from pyrogram import enums from pyrogram.filters import create +from pyrogram.types import Message, CallbackQuery +from pyrogram.errors import RPCError, UserNotParticipant + +from Powers.vars import Config 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 pyrogram.errors import RPCError, UserNotParticipant from Powers.utils.caching import ADMIN_CACHE, admin_cache_reload diff --git a/Powers/utils/extract_user.py b/Powers/utils/extract_user.py index 8eb3e67d184d21c04c30419ff2a9303f243a89ac..9382108ac47e5d7f781aada9948fd57fe310b4f2 100644 --- a/Powers/utils/extract_user.py +++ b/Powers/utils/extract_user.py @@ -1,9 +1,11 @@ from typing import Tuple -from Powers import LOGGER from traceback import format_exc + +from pyrogram.types.messages_and_media.message import Message + +from Powers import LOGGER 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/http_helper.py b/Powers/utils/http_helper.py index 2fb5d88e69bc0c20f1b341a6e5b388636f8d3eb6..fa9848ea15aaa1705caba3f186ebbc01e819efba 100644 --- a/Powers/utils/http_helper.py +++ b/Powers/utils/http_helper.py @@ -1,4 +1,5 @@ from asyncio import gather + from Powers.bot_class import aiohttpsession as session diff --git a/Powers/utils/kbhelpers.py b/Powers/utils/kbhelpers.py index 5b19364a901698ccd4c69db42262558246682f8b..49007b024806ca37227f5d0075e7a64e0adba568 100644 --- a/Powers/utils/kbhelpers.py +++ b/Powers/utils/kbhelpers.py @@ -1,4 +1,3 @@ - from pyrogram.types import InlineKeyboardButton, InlineKeyboardMarkup diff --git a/Powers/utils/msg_types.py b/Powers/utils/msg_types.py index 6c4b1382eb2de08c3f8bcef735ceeed708a195b9..53af4b18c5f2dc1d03ece2672d9c1c6c4a1e670b 100644 --- a/Powers/utils/msg_types.py +++ b/Powers/utils/msg_types.py @@ -1,4 +1,5 @@ from enum import IntEnum, unique + from pyrogram.types import Message diff --git a/Powers/utils/parser.py b/Powers/utils/parser.py index 1ed67756078f9a2441605d008d369faa04bfc614..020c12d3d87846914b52b8c255177852f6194608 100644 --- a/Powers/utils/parser.py +++ b/Powers/utils/parser.py @@ -1,4 +1,5 @@ from html import escape + from re import sub, compile as compilere diff --git a/Powers/utils/regex_utils.py b/Powers/utils/regex_utils.py index 5cade1fede354ad1ed702d1d30e38e2e1bc8ff37..60a942aa7bd4b92aa71f80af04a3d9704ccb12bb 100644 --- a/Powers/utils/regex_utils.py +++ b/Powers/utils/regex_utils.py @@ -1,7 +1,8 @@ from regex import search -from Powers import LOGGER from traceback import format_exc +from Powers import LOGGER + async def regex_searcher(regex_string: str, string: str) -> str: """Search for Regex in string.""" diff --git a/Powers/utils/start_utils.py b/Powers/utils/start_utils.py index 0577a25c7c81419f376fdc399ad6ef8b1194be6e..4108aec75d2fdea05ad798f9293760badd1dcfd2 100644 --- a/Powers/utils/start_utils.py +++ b/Powers/utils/start_utils.py @@ -1,16 +1,18 @@ from html import escape from secrets import choice -from Powers.vars import Config from traceback import format_exc -from Powers.bot_class import Gojo + from pyrogram.errors import RPCError +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.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 pyrogram.types import Message, CallbackQuery from Powers import LOGGER, HELP_COMMANDS, SUPPORT_GROUP from Powers.utils.string import ( parse_button, build_keyboard, escape_mentions_using_curly_brackets) diff --git a/Powers/utils/string.py b/Powers/utils/string.py index 810fdb6c4d20285022e8383dab96494414762cee..989c24aaaf729af960b8a7f3f7066b5d4bb3a2c6 100644 --- a/Powers/utils/string.py +++ b/Powers/utils/string.py @@ -2,9 +2,12 @@ from time import time from html import escape from typing import List from re import compile as compile_re + +from pyrogram.types import Message, InlineKeyboardButton + 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)?\))")