diff --git a/Powers/__init__.py b/Powers/__init__.py index f38b458c0a1d6c2d14968bf8c565df0595426f13..94ee593907fd69282505269d6e556e1438d3ee9c 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 a61d6086ddccde24cfe2a5901a4af288a4df65f0..6133fffc28456dfe5c5acb0a183055f54fa45ec4 100644 --- a/Powers/bot_class.py +++ b/Powers/bot_class.py @@ -1,15 +1,17 @@ -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 threading import RLock 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 b96d862f80f3a2539a18f40e0a939b1cdca7e569..6421eb387189a3f079c3769f67e351226b70827e 100644 --- a/Powers/database/__init__.py +++ b/Powers/database/__init__.py @@ -1,6 +1,7 @@ -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 bb1f457dd1cda96753a249b46408aa0e1f4dcbf2..24cb6a589657121c7648dd886e79e27a35b91164 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 threading import RLock + 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..e6b703d8e65b883b4587d89c2fabc4224532dae2 100644 --- a/Powers/database/blacklist_db.py +++ b/Powers/database/blacklist_db.py @@ -1,6 +1,7 @@ +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 0ce13d5bb20cfd9704fb0bb36ab897715ae4cc39..371883ccc60d60a8fc1623e60ae5a1c41a438d14 100644 --- a/Powers/database/chats_db.py +++ b/Powers/database/chats_db.py @@ -1,6 +1,7 @@ +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 fb2c294b78631eded649d645477f4289c3376f93..7aa0bbee6108c438dc5b3cf90b2aca88c7d5c8c3 100644 --- a/Powers/database/disable_db.py +++ b/Powers/database/disable_db.py @@ -1,6 +1,7 @@ +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 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..bd12a70c83c7976f2bd126bfc8d4c99c7fcab78e 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 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 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..671a12b31fadb6e3de7aded64335bd80cb08727c 100644 --- a/Powers/database/reporting_db.py +++ b/Powers/database/reporting_db.py @@ -1,6 +1,7 @@ +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 a0cfe90c96cc4e1fa9b5ac0d6714b4e0841b8831..14eb8e1353d8a71212933f061deaa831fba34199 100644 --- a/Powers/database/rules_db.py +++ b/Powers/database/rules_db.py @@ -1,6 +1,7 @@ +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 45ad1183a1752ce7813c34edb6bc059fbd1e4ac0..df11916b7e0d5d26a37c9242e9a2da8d7301ba75 100644 --- a/Powers/database/users_db.py +++ b/Powers/database/users_db.py @@ -1,6 +1,7 @@ +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 696dcdb8fac64bb167ea5973c8ed44a8e139db23..fab7d42448d9357cf0933c3f768a9621703ec672 100644 --- a/Powers/database/warns_db.py +++ b/Powers/database/warns_db.py @@ -1,6 +1,7 @@ +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 8f9c88c9d378c3822ba73201830cc155ce5f57de..4d94dde5045a8cf52c73f84f8a3a92b5402db949 100644 --- a/Powers/plugins/admin.py +++ b/Powers/plugins/admin.py @@ -1,24 +1,26 @@ -from os import remove -from html import escape from asyncio import sleep -from pyrogram import filters -from Powers.vars import Config +from html import escape +from os import remove from traceback import format_exc + +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.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.vars import Config 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 pyrogram.errors import ( - RPCError, FloodWait, RightForbidden, UserAdminInvalid, ChatAdminRequired, - ChatAdminInviteRequired) +from Powers.utils.extract_user import extract_user +from Powers.utils.parser import mention_html @Gojo.on_message(command("adminlist")) diff --git a/Powers/plugins/antispam.py b/Powers/plugins/antispam.py index 51c2ec5f0e3ef4efe9a89ee36f4dcf0a2502b50c..b81c9cd2f0b232c3d0a1b4fd6fe3758c0020da22 100644 --- a/Powers/plugins/antispam.py +++ b/Powers/plugins/antispam.py @@ -1,17 +1,19 @@ -from io import BytesIO from datetime import datetime -from Powers.vars import Config +from io import BytesIO from traceback import format_exc -from Powers.bot_class import Gojo + from pyrogram.types import Message -from Powers.database.users_db import Users +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 Powers.utils.parser import mention_html +from Powers.database.users_db import Users +from Powers.utils.clean_file import remove_markdown_and_html 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.utils.parser import mention_html # Initialize diff --git a/Powers/plugins/approve.py b/Powers/plugins/approve.py index a0d74cc9f56a83c4973ddcaaa7b1afbd5458ae4b..f080a4186e55c4f63814340e6e5cce324a205195 100644 --- a/Powers/plugins/approve.py +++ b/Powers/plugins/approve.py @@ -1,13 +1,14 @@ from pyrogram import filters -from Powers.bot_class import Gojo -from Powers.utils.kbhelpers import ikb +from pyrogram.errors import RPCError, PeerIdInvalid, UserNotParticipant +from pyrogram.types import Message, CallbackQuery + from Powers import LOGGER, SUPPORT_GROUP -from Powers.utils.parser import mention_html +from Powers.bot_class import Gojo 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 +from Powers.utils.extract_user import extract_user +from Powers.utils.kbhelpers import ikb +from Powers.utils.parser import mention_html @Gojo.on_message(command("approve") & admin_filter) diff --git a/Powers/plugins/bans.py b/Powers/plugins/bans.py index 4e650fdf39defe859e4bfd599d0eaced59312c15..a112bfcd0f51edb45396b22f242b1f857033cf67 100644 --- a/Powers/plugins/bans.py +++ b/Powers/plugins/bans.py @@ -1,25 +1,25 @@ from random import choice -from pyrogram import enums -from Powers.vars import Config 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 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 Powers.utils.parser import mention_html +from Powers.utils.string import extract_time -BAN_MEDIA = choice(BAN_GIFS) -KICK_MEDIA = choice(KICK_GIFS) @Gojo.on_message(command("tban") & restrict_filter) @@ -105,7 +105,7 @@ async def tban_usr(c: Gojo, m: Message): ) await m.reply_animation( reply_to_message_id=r_id, - animation=BAN_MEDIA, + animation=choice(BAN_GIFS), caption=txt, reply_markup=keyboard, parse_mode=enums.ParseMode.HTML, @@ -306,7 +306,7 @@ async def dtban_usr(c: Gojo, m: Message): ) await c.send_animation( chat_id=m.chat.id, - animation=BAN_MEDIA, + animation=choice(BAN_GIFS), caption=txt, reply_markup=keyboard, parse_mode=enums.ParseMode.HTML, @@ -393,7 +393,7 @@ async def kick_usr(c: Gojo, m: Message): # await m.reply_text(txt, reply_to_message_id=r_id) await m.reply_animation( reply_to_message_id=r_id, - animation=KICK_MEDIA, + animation=choice(KICK_GIFS), caption=txt, parse_mode=enums.ParseMode.HTML, ) @@ -541,7 +541,7 @@ async def dkick_usr(c: Gojo, m: Message): await c.send_message(m.chat.id, txt) await c.send_animation( chat_id=m.chat.id, - animation=KICK_MEDIA, + animation=choice(KICK_GIFS), caption=txt, parse_mode=enums.ParseMode.HTML, ) @@ -758,7 +758,7 @@ async def dban_usr(c: Gojo, m: Message): ], ) await c.send_animation( - m.chat.id, animation=BAN_MEDIA, caption=txt, reply_markup=keyboard + m.chat.id, animation=choice(BAN_GIFS), caption=txt, reply_markup=keyboard ) except ChatAdminRequired: await m.reply_text(text="I'm not admin or I don't have rights.") @@ -855,7 +855,7 @@ async def ban_usr(c: Gojo, m: Message): ], ) await m.reply_animation( - animation=BAN_MEDIA, + animation=choice(BAN_GIFS), caption=txt, reply_markup=keyboard, reply_to_message_id=r_id, @@ -917,7 +917,7 @@ async def kickme(_, m: Message): await m.chat.ban_member(m.from_user.id) txt = "Why not let me help you!" txt += f"\nReason: {reason}" if reason else "" - await m.reply_animation(animation=KICK_MEDIA, caption=txt) + await m.reply_animation(animation=choice(KICK_GIFS), caption=txt) await m.chat.unban_member(m.from_user.id) except RPCError as ef: await m.reply_text( diff --git a/Powers/plugins/blacklist.py b/Powers/plugins/blacklist.py index 94e77a8f19c5869a87d708c98a5d6d7319ba7089..01be563191bcfc062bd9d5b4aedf2d7d966c3f19 100644 --- a/Powers/plugins/blacklist.py +++ b/Powers/plugins/blacklist.py @@ -1,11 +1,13 @@ from html import escape -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 import LOGGER +from Powers.bot_class import Gojo 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 b9808ad372132020260357d79d0a059e4c7977dc..2de4aa1f2587d713ebdeaeb14d199783f6260368 100644 --- a/Powers/plugins/botstaff.py +++ b/Powers/plugins/botstaff.py @@ -1,9 +1,10 @@ -from Powers.bot_class import Gojo -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 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 Powers.utils.parser import mention_html @Gojo.on_message(command("botstaff", dev_cmd=True)) diff --git a/Powers/plugins/chat_blacklist.py b/Powers/plugins/chat_blacklist.py index 9dffb7fdebed00abd6690924930ed562872fc1b5..bc77d10dcb9a7e6fab651a05ebbd3ad5a0e2abb3 100644 --- a/Powers/plugins/chat_blacklist.py +++ b/Powers/plugins/chat_blacklist.py @@ -1,10 +1,12 @@ -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 pyrogram.types import Message + +from Powers import LOGGER +from Powers.bot_class import Gojo from Powers.database.group_blacklist import GroupBlacklist +from Powers.utils.custom_filters import command # initialise database diff --git a/Powers/plugins/dev.py b/Powers/plugins/dev.py index 7d7b10ea7cb6568297dc5c837da17ca7252633cf..4bfd6007c372034d2bcae8d3cc6619e0c9d4a2a6 100644 --- a/Powers/plugins/dev.py +++ b/Powers/plugins/dev.py @@ -1,19 +1,21 @@ -import sys +from asyncio import sleep, subprocess, create_subprocess_shell from io import BytesIO, StringIO +import sys +from time import time, gmtime, strftime 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 d934e56c2ba8661061ee7339ef142fbc94f83133..26d9f59077007b02498cf717869cd39c6e6b44ad 100644 --- a/Powers/plugins/disable.py +++ b/Powers/plugins/disable.py @@ -1,10 +1,12 @@ from html import escape + from pyrogram import filters -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 import LOGGER, HELP_COMMANDS +from Powers.bot_class import Gojo +from Powers.database.disable_db import Disabling 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 1aa89c21e1485a78bbc8202b77d113f900ce3973..cf230fb37e504dbd0b158ec41ef8ef0c1e28f79d 100644 --- a/Powers/plugins/filters.py +++ b/Powers/plugins/filters.py @@ -1,16 +1,18 @@ +from re import escape as re_escape from secrets import choice from traceback import format_exc -from re import escape as re_escape -from pyrogram import enums, filters + +from pyrogram import filters from pyrogram.errors import RPCError -from Powers.utils.kbhelpers import ikb +from pyrogram.types import Message, CallbackQuery, InlineKeyboardMarkup + 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.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.msg_types import Types, get_filter_type +from Powers.utils.regex_utils import regex_searcher 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 8a5f8171283a5bbedf8508c024ad237b4f2b7299..e35177f83e477a15b49b1d60d68dcd3201f8f861 100644 --- a/Powers/plugins/formatting.py +++ b/Powers/plugins/formatting.py @@ -1,10 +1,10 @@ -from Powers import LOGGER -from Powers.bot_class import Gojo from pyrogram import enums, filters -from Powers.utils.kbhelpers import ikb -from Powers.utils.custom_filters import command from pyrogram.types import Message, CallbackQuery +from Powers import LOGGER +from Powers.bot_class import Gojo +from Powers.utils.custom_filters import command +from Powers.utils.kbhelpers import ikb async def gen_formatting_kb(m): return ikb( diff --git a/Powers/plugins/fun.py b/Powers/plugins/fun.py index 4ab950fe1814a1a6420fddcb7a26c6ce376febaa..37ad7a4ddd227812156ebfe32fee4cbfa06a32f9 100644 --- a/Powers/plugins/fun.py +++ b/Powers/plugins/fun.py @@ -1,11 +1,13 @@ from html import escape from random import choice + from pyrogram import enums -from Powers.utils import extras -from Powers.bot_class import Gojo +from pyrogram.errors import MessageTooLong from pyrogram.types import Message + from Powers import LOGGER, DEV_USERS -from pyrogram.errors import MessageTooLong +from Powers.bot_class import Gojo +from Powers.utils import extras 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 4437e2ac60e474d7c14f4bafcc026c3f4eb0c6fd..431d8c96534d164aadb57175399e4c6adac46125 100644 --- a/Powers/plugins/greetings.py +++ b/Powers/plugins/greetings.py @@ -1,17 +1,19 @@ 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.vars import Config from Powers.bot_class import Gojo -from pyrogram import enums, filters -from Powers.utils.chat_type import chattype +from Powers.vars import Config 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 d2710fd01764fb3c291d351dc034797a9553a9c0..28480b4f3f145bcada76e6c6319f0f1b4351b7a1 100644 --- a/Powers/plugins/info.py +++ b/Powers/plugins/info.py @@ -1,15 +1,17 @@ -import os -from pyrogram import enums from datetime import datetime +import os from traceback import format_exc -from Powers.bot_class import Gojo + +from pyrogram import enums from pyrogram.types import Message -from Powers.utils.chat_type import c_type + +from Powers import ( + LOGGER, DEV_USERS, SUDO_USERS, SUPPORT_STAFF, WHITELIST_USERS) +from Powers.bot_class import Gojo from Powers.database.antispam_db import GBan +from Powers.utils.chat_type import c_type 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 3cbd7790a1166ff24db5c43cb0338d0d1788c8ab..6cc6a675d210becee6b1b4d5f3a97f82cc984aaf 100644 --- a/Powers/plugins/initial.py +++ b/Powers/plugins/initial.py @@ -1,19 +1,20 @@ -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.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 pyrogram.types import Message + +from Powers import LOGGER +from Powers.bot_class import Gojo 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.chats_db import Chats +from Powers.database.disable_db import Disabling +from Powers.database.filters_db import Filters from Powers.database.greetings_db import Greetings -from Powers.database.reporting_db import Reporting 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 @Gojo.on_message(filters.group, group=4) diff --git a/Powers/plugins/locks.py b/Powers/plugins/locks.py index 310f99daa4ace1ba30eca50132081cda42b8c181..2ade5fa67ed3c6ee372c436b2cd3a377ce1b091b 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.errors import RPCError, ChatNotModified, ChatAdminRequired +from pyrogram.types import Message, ChatPermissions + +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..f7cf96c57ac2085eeea955d498ea8879e3d331cf 100644 --- a/Powers/plugins/muting.py +++ b/Powers/plugins/muting.py @@ -1,22 +1,21 @@ 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) - -MUTE_MEDIA = choice(MUTE_GIFS) +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) @@ -102,7 +101,7 @@ async def tmute_usr(c: Gojo, m: Message): ], ) await m.reply_animation( - animation=MUTE_MEDIA, + animation=choice(MUTE_GIFS), caption=txt, reply_markup=keyboard, reply_to_message_id=r_id, @@ -207,7 +206,7 @@ async def dtmute_usr(c: Gojo, m: Message): ], ) await c.send_animation( - animation=MUTE_MEDIA, + animation=choice(MUTE_GIFS), chat_id=m.chat.id, caption=txt, reply_markup=keyboard, @@ -381,7 +380,7 @@ async def mute_usr(c: Gojo, m: Message): ], ) await m.reply_animation( - animation=MUTE_MEDIA, + animation=choice(MUTE_GIFS), caption=txt, reply_markup=keyboard, reply_to_message_id=r_id, @@ -533,7 +532,7 @@ async def dmute_usr(c: Gojo, m: Message): ], ) await c.send_animation( - animation=MUTE_MEDIA, 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 2279939ec16934a38089775ba0e545bc58cc7289..fe89f761018c465e215d57ec5283ffc8329e7388 100644 --- a/Powers/plugins/notes.py +++ b/Powers/plugins/notes.py @@ -1,16 +1,18 @@ -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 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 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.msg_types import Types, get_note_type 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 5c0820ad818931db5690c82e9758e0e208ad71ea..c8a4cbf250a26b7aa6b23298cc72e90e262afd14 100644 --- a/Powers/plugins/pin.py +++ b/Powers/plugins/pin.py @@ -1,13 +1,15 @@ -from Powers.bot_class import Gojo -from pyrogram.filters import regex -from Powers.utils.kbhelpers import ikb from html import escape as escape_html + +from pyrogram.filters import regex +from pyrogram.errors import RPCError, RightForbidden, ChatAdminRequired +from pyrogram.types import Message, CallbackQuery + from Powers import LOGGER, SUPPORT_GROUP +from Powers.bot_class import Gojo 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 +from Powers.utils.kbhelpers import ikb +from Powers.utils.string import parse_button, build_keyboard @Gojo.on_message(command("pin") & admin_filter) diff --git a/Powers/plugins/purge.py b/Powers/plugins/purge.py index 334c5fff970625b6f6e5852fb0a288a50d591e54..dd3fb69fd54f285d3211519f038b58d37ac823d7 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 @@ -62,7 +64,7 @@ async def spurge(c: Gojo, m: Message): return if m.reply_to_message: - message_ids = list(range(m.reply_to_message.message_id, m.message_id)) + message_ids = list(range(m.reply_to_message.id, m.id)) def divide_chunks(l: list, n: int = 100): for i in range(0, len(l), n): diff --git a/Powers/plugins/report.py b/Powers/plugins/report.py index 79a68b1141576a5a97da119c31372e7e435840b2..16a5341d16f2e83f87c34ad878f0cc8278ec8f76 100644 --- a/Powers/plugins/report.py +++ b/Powers/plugins/report.py @@ -1,15 +1,17 @@ -from pyrogram import filters from traceback import format_exc -from Powers.bot_class import Gojo + +from pyrogram import filters +from pyrogram.enums import ChatMembersFilter as cmf from pyrogram.errors import RPCError -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 import LOGGER, SUPPORT_STAFF +from Powers.bot_class import Gojo from Powers.database.reporting_db import Reporting -from pyrogram.enums import ChatMembersFilter as cmf +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 @Gojo.on_message( diff --git a/Powers/plugins/rules.py b/Powers/plugins/rules.py index cb895759fc1a98ca73375a71c3c3583f7e589c95..d5b07d5ce3b7d415dec9ab42847ef369cceeaa9d 100644 --- a/Powers/plugins/rules.py +++ b/Powers/plugins/rules.py @@ -1,11 +1,13 @@ 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 2b7a9127e4f2fc4c5d89c382462019ee946a1c2a..596aee77532a491a81f8b65f2490f0c2aa331be8 100644 --- a/Powers/plugins/start.py +++ b/Powers/plugins/start.py @@ -1,14 +1,16 @@ from random import choice -from Powers.vars import Config -from Powers.bot_class import Gojo + from pyrogram import enums, filters -from Powers.utils.kbhelpers import ikb +from pyrogram.types import Message, CallbackQuery +from pyrogram.errors import UserIsBlocked, QueryIdInvalid, MessageNotModified + from Powers import LOGGER, HELP_COMMANDS -from Powers.utils.extras import StartPic +from Powers.bot_class import Gojo +from Powers.vars import Config 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.extras import StartPic +from Powers.utils.kbhelpers import ikb 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 d35439153e8c7f222ac01449e35c0ceb921622cb..d9df3cb00d25f0edde330f904689635ac94a00ea 100644 --- a/Powers/plugins/stats.py +++ b/Powers/plugins/stats.py @@ -1,19 +1,20 @@ from pyrogram import enums -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.bot_class import Gojo from Powers.database.antispam_db import GBan from Powers.database.approve_db import Approve -from Powers.database.filters_db import Filters +from Powers.database.blacklist_db import Blacklist +from Powers.database.chats_db import Chats from Powers.utils.custom_filters import command from Powers.database.disable_db import Disabling -from Powers.database.blacklist_db import Blacklist +from Powers.database.filters_db import Filters from Powers.database.greetings_db import Greetings -from Powers.database.warns_db import Warns, WarnSettings 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 @Gojo.on_message(command("stats", dev_cmd=True)) diff --git a/Powers/plugins/utils.py b/Powers/plugins/utils.py index addd0901c4376120dc4bb35b8a9c9fd2efb53304..4c271efc9eae8e742bbdbe935a27336612718865 100644 --- a/Powers/plugins/utils.py +++ b/Powers/plugins/utils.py @@ -1,26 +1,28 @@ -import re import aiofiles -from Powers import * -from os import remove +from aiohttp import ClientSession +from gpytranslate import Translator from io import BytesIO +from os import remove +import re +from search_engine_parser import GoogleSearch from tswift import Song -from wikipedia import summary from traceback import format_exc -from Powers.bot_class import Gojo -from aiohttp import ClientSession -from gpytranslate import Translator +from wikipedia import summary +from wikipedia.exceptions import PageError, DisambiguationError + from pyrogram import enums, filters -from Powers.utils.http_helper import * +from pyrogram.errors import PeerIdInvalid, MessageTooLong +from pyrogram.types import Message, InlineKeyboardButton, InlineKeyboardMarkup + +from Powers import * +from Powers.bot_class import Gojo 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.clean_file import remove_markdown_and_html from Powers.utils.custom_filters import command from Powers.utils.extract_user import extract_user -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 +from Powers.utils.http_helper import * +from Powers.utils.parser import mention_html @Gojo.on_message(command("wiki")) diff --git a/Powers/plugins/warns.py b/Powers/plugins/warns.py index c47f9eba474c1a4c6a7b8031020d135363623ffe..3462a2bd6376e7c77f77026b437ccbc243fe71f9 100644 --- a/Powers/plugins/warns.py +++ b/Powers/plugins/warns.py @@ -1,19 +1,21 @@ 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.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) +from Powers.utils.extract_user import extract_user +from Powers.utils.parser import mention_html +from Powers.database.warns_db import Warns, WarnSettings @Gojo.on_message( diff --git a/Powers/plugins/watchers.py b/Powers/plugins/watchers.py index f146c93fbd025843f5978d210941b4fddfbd3310..bcea6cd9497fd30da90fb2a40bc6e1a9197fb1e3 100644 --- a/Powers/plugins/watchers.py +++ b/Powers/plugins/watchers.py @@ -1,20 +1,22 @@ +from re import escape as re_escape from time import time -from pyrogram import filters 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 Powers.bot_class import Gojo -from re import escape as re_escape -from Powers.database.pins_db import Pins -from Powers.utils.parser import mention_html +from Powers.database.antispam_db import ANTISPAM_BANNED, GBan 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.database.pins_db import Pins +from Powers.database.warns_db import Warns, WarnSettings from Powers.utils.caching import ADMIN_CACHE, admin_cache_reload -from pyrogram.errors import RPCError, UserAdminInvalid, ChatAdminRequired +from Powers.utils.parser import mention_html +from Powers.utils.regex_utils import regex_searcher # 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..171be0898bdb3a183f05953d5a38fb6fefda3a23 100644 --- a/Powers/utils/caching.py +++ b/Powers/utils/caching.py @@ -1,12 +1,13 @@ -from typing import List -from Powers import LOGGER -from pyrogram import enums -from threading import RLock from cachetools import TTLCache +from threading import RLock from time import time, perf_counter +from typing import List + +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..bbcbd2b093f322c435814b3e526b7e8120e2d502 100644 --- a/Powers/utils/chat_type.py +++ b/Powers/utils/chat_type.py @@ -1,6 +1,7 @@ -from Powers.bot_class import Gojo -from pyrogram.types import Message from pyrogram.enums import ChatType +from pyrogram.types import Message + +from Powers.bot_class import Gojo async def chattype(m: Message): diff --git a/Powers/utils/custom_filters.py b/Powers/utils/custom_filters.py index 77af838372a934988ed7804796a03df3af98f612..f514a455f9496825ff45f3f1beb380132b2715e9 100644 --- a/Powers/utils/custom_filters.py +++ b/Powers/utils/custom_filters.py @@ -1,15 +1,17 @@ +from re import escape, compile as compile_re from shlex import split -from pyrogram import enums -from Powers.vars import Config from typing import List, Union + +from pyrogram import enums +from pyrogram.errors import RPCError, UserNotParticipant 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 pyrogram.errors import RPCError, UserNotParticipant +from Powers.database.disable_db import Disabling 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 8eb3e67d184d21c04c30419ff2a9303f243a89ac..909355dec7f96530af12f10d970b5d82a1b558a1 100644 --- a/Powers/utils/extract_user.py +++ b/Powers/utils/extract_user.py @@ -1,9 +1,11 @@ +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 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/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 42c2898510500f8c3e8a2dc2fa52137e2b94407f..e88660ce68bf9803749ec40ddd835f83596f21a4 100644 --- a/Powers/utils/start_utils.py +++ b/Powers/utils/start_utils.py @@ -1,17 +1,19 @@ 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 Powers.utils.kbhelpers import ikb -from Powers.utils.msg_types import Types +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 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.kbhelpers import ikb +from Powers.utils.msg_types import Types from Powers.utils.string import ( parse_button, build_keyboard, escape_mentions_using_curly_brackets) @@ -252,7 +254,12 @@ Commands available: """ help_kb = [ *(await gen_cmds_kb(m)), - [("« Back", "start_back")], + [ + InlineKeyboardButton( + "« Back", + callback_data="start_back", + ), + ], ] - return help_msg, help_kb + return help_msg, help_kb \ No newline at end of file diff --git a/Powers/utils/string.py b/Powers/utils/string.py index 810fdb6c4d20285022e8383dab96494414762cee..37fcdabb890ad31e34c63b8f2b57a64ff49cac92 100644 --- a/Powers/utils/string.py +++ b/Powers/utils/string.py @@ -1,10 +1,12 @@ -from time import time from html import escape -from typing import List from re import compile as compile_re +from time import time +from typing import List + +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)?\))")