Captain Ezio commited on
Commit
11ae35a
·
1 Parent(s): 644db7c

Fixing kb and `sorted imports`

Browse files
This view is limited to 50 files because it contains too many changes.   See raw diff
Files changed (50) hide show
  1. Powers/__init__.py +7 -7
  2. Powers/__main__.py +0 -1
  3. Powers/bot_class.py +8 -8
  4. Powers/database/__init__.py +2 -1
  5. Powers/database/antispam_db.py +2 -2
  6. Powers/database/approve_db.py +2 -2
  7. Powers/database/blacklist_db.py +2 -2
  8. Powers/database/chats_db.py +2 -2
  9. Powers/database/disable_db.py +2 -2
  10. Powers/database/filters_db.py +1 -1
  11. Powers/database/greetings_db.py +2 -2
  12. Powers/database/group_blacklist.py +1 -1
  13. Powers/database/notes_db.py +2 -2
  14. Powers/database/pins_db.py +2 -2
  15. Powers/database/reporting_db.py +2 -2
  16. Powers/database/rules_db.py +2 -2
  17. Powers/database/users_db.py +2 -2
  18. Powers/database/warns_db.py +2 -2
  19. Powers/plugins/__init__.py +1 -1
  20. Powers/plugins/admin.py +18 -15
  21. Powers/plugins/antispam.py +10 -9
  22. Powers/plugins/approve.py +8 -7
  23. Powers/plugins/bans.py +14 -13
  24. Powers/plugins/blacklist.py +6 -4
  25. Powers/plugins/botstaff.py +5 -4
  26. Powers/plugins/chat_blacklist.py +6 -5
  27. Powers/plugins/dev.py +11 -9
  28. Powers/plugins/disable.py +8 -6
  29. Powers/plugins/filters.py +13 -12
  30. Powers/plugins/formatting.py +6 -4
  31. Powers/plugins/fun.py +8 -5
  32. Powers/plugins/greetings.py +11 -10
  33. Powers/plugins/info.py +8 -7
  34. Powers/plugins/initial.py +11 -10
  35. Powers/plugins/locks.py +5 -3
  36. Powers/plugins/muting.py +13 -11
  37. Powers/plugins/notes.py +13 -11
  38. Powers/plugins/pin.py +10 -8
  39. Powers/plugins/purge.py +6 -4
  40. Powers/plugins/report.py +10 -7
  41. Powers/plugins/rules.py +6 -5
  42. Powers/plugins/start.py +18 -22
  43. Powers/plugins/stats.py +10 -9
  44. Powers/plugins/utils.py +13 -11
  45. Powers/plugins/warns.py +10 -8
  46. Powers/plugins/watchers.py +12 -11
  47. Powers/utils/admin_check.py +3 -2
  48. Powers/utils/caching.py +5 -4
  49. Powers/utils/custom_filters.py +10 -7
  50. Powers/utils/extract_user.py +5 -3
Powers/__init__.py CHANGED
@@ -1,12 +1,12 @@
1
- from time import time
2
  from datetime import datetime
3
- from traceback import format_exc
4
- from os import path, mkdir, environ
5
  from importlib import import_module as imp_mod
6
- from sys import exit as sysexit, stdout, version_info
7
- from logging import (
8
- INFO, WARNING, FileHandler, StreamHandler, getLogger, basicConfig)
9
-
 
 
 
10
 
11
  LOG_DATETIME = datetime.now().strftime("%d_%m_%Y-%H_%M_%S")
12
  LOGDIR = f"{__name__}/logs"
 
 
1
  from datetime import datetime
 
 
2
  from importlib import import_module as imp_mod
3
+ from logging import (INFO, WARNING, FileHandler, StreamHandler, basicConfig,
4
+ getLogger)
5
+ from os import environ, mkdir, path
6
+ from sys import exit as sysexit
7
+ from sys import stdout, version_info
8
+ from time import time
9
+ from traceback import format_exc
10
 
11
  LOG_DATETIME = datetime.now().strftime("%d_%m_%Y-%H_%M_%S")
12
  LOGDIR = f"{__name__}/logs"
Powers/__main__.py CHANGED
@@ -1,5 +1,4 @@
1
  from Powers.bot_class import Gojo
2
 
3
-
4
  if __name__ == "__main__":
5
  Gojo().run()
 
1
  from Powers.bot_class import Gojo
2
 
 
3
  if __name__ == "__main__":
4
  Gojo().run()
Powers/bot_class.py CHANGED
@@ -1,16 +1,16 @@
 
1
  from threading import RLock
2
- from Powers.vars import Config
 
3
  from aiohttp import ClientSession
 
4
  from pyrogram.raw.all import layer
 
 
 
5
  from Powers.database import MongoDB
6
- from platform import python_version
7
  from Powers.plugins import all_plugins
8
- from time import time, gmtime, strftime
9
- from pyrogram import Client, __version__
10
- from Powers import (
11
- API_ID, LOGGER, UPTIME, LOGFILE, NO_LOAD, WORKERS, API_HASH, BOT_TOKEN,
12
- LOG_DATETIME, MESSAGE_DUMP, load_cmds)
13
-
14
 
15
  INITIAL_LOCK = RLock()
16
 
 
1
+ from platform import python_version
2
  from threading import RLock
3
+ from time import gmtime, strftime, time
4
+
5
  from aiohttp import ClientSession
6
+ from pyrogram import Client, __version__
7
  from pyrogram.raw.all import layer
8
+
9
+ from Powers import (API_HASH, API_ID, BOT_TOKEN, LOG_DATETIME, LOGFILE, LOGGER,
10
+ MESSAGE_DUMP, NO_LOAD, UPTIME, WORKERS, load_cmds)
11
  from Powers.database import MongoDB
 
12
  from Powers.plugins import all_plugins
13
+ from Powers.vars import Config
 
 
 
 
 
14
 
15
  INITIAL_LOCK = RLock()
16
 
Powers/database/__init__.py CHANGED
@@ -1,8 +1,9 @@
1
  from sys import exit as exiter
 
2
  from pymongo import MongoClient
3
  from pymongo.errors import PyMongoError
4
- from Powers import DB_URI, LOGGER, DB_NAME
5
 
 
6
 
7
  try:
8
  Powers_db_client = MongoClient(DB_URI)
 
1
  from sys import exit as exiter
2
+
3
  from pymongo import MongoClient
4
  from pymongo.errors import PyMongoError
 
5
 
6
+ from Powers import DB_NAME, DB_URI, LOGGER
7
 
8
  try:
9
  Powers_db_client = MongoClient(DB_URI)
Powers/database/antispam_db.py CHANGED
@@ -1,7 +1,7 @@
1
- from threading import RLock
2
  from datetime import datetime
3
- from Powers.database import MongoDB
4
 
 
5
 
6
  INSERTION_LOCK = RLock()
7
  ANTISPAM_BANNED = set()
 
 
1
  from datetime import datetime
2
+ from threading import RLock
3
 
4
+ from Powers.database import MongoDB
5
 
6
  INSERTION_LOCK = RLock()
7
  ANTISPAM_BANNED = set()
Powers/database/approve_db.py CHANGED
@@ -1,7 +1,7 @@
1
- from Powers import LOGGER
2
  from threading import RLock
3
- from Powers.database import MongoDB
4
 
 
 
5
 
6
  INSERTION_LOCK = RLock()
7
 
 
 
1
  from threading import RLock
 
2
 
3
+ from Powers import LOGGER
4
+ from Powers.database import MongoDB
5
 
6
  INSERTION_LOCK = RLock()
7
 
Powers/database/blacklist_db.py CHANGED
@@ -1,9 +1,9 @@
 
1
  from time import time
 
2
  from Powers import LOGGER
3
- from threading import RLock
4
  from Powers.database import MongoDB
5
 
6
-
7
  INSERTION_LOCK = RLock()
8
 
9
 
 
1
+ from threading import RLock
2
  from time import time
3
+
4
  from Powers import LOGGER
 
5
  from Powers.database import MongoDB
6
 
 
7
  INSERTION_LOCK = RLock()
8
 
9
 
Powers/database/chats_db.py CHANGED
@@ -1,9 +1,9 @@
 
1
  from time import time
 
2
  from Powers import LOGGER
3
- from threading import RLock
4
  from Powers.database import MongoDB
5
 
6
-
7
  INSERTION_LOCK = RLock()
8
 
9
 
 
1
+ from threading import RLock
2
  from time import time
3
+
4
  from Powers import LOGGER
 
5
  from Powers.database import MongoDB
6
 
 
7
  INSERTION_LOCK = RLock()
8
 
9
 
Powers/database/disable_db.py CHANGED
@@ -1,9 +1,9 @@
 
1
  from time import time
 
2
  from Powers import LOGGER
3
- from threading import RLock
4
  from Powers.database import MongoDB
5
 
6
-
7
  INSERTION_LOCK = RLock()
8
  DISABLED_CMDS = {}
9
 
 
1
+ from threading import RLock
2
  from time import time
3
+
4
  from Powers import LOGGER
 
5
  from Powers.database import MongoDB
6
 
 
7
  INSERTION_LOCK = RLock()
8
  DISABLED_CMDS = {}
9
 
Powers/database/filters_db.py CHANGED
@@ -1,8 +1,8 @@
1
  from threading import RLock
 
2
  from Powers.database import MongoDB
3
  from Powers.utils.msg_types import Types
4
 
5
-
6
  INSERTION_LOCK = RLock()
7
 
8
 
 
1
  from threading import RLock
2
+
3
  from Powers.database import MongoDB
4
  from Powers.utils.msg_types import Types
5
 
 
6
  INSERTION_LOCK = RLock()
7
 
8
 
Powers/database/greetings_db.py CHANGED
@@ -1,7 +1,7 @@
1
- from Powers import LOGGER
2
  from threading import RLock
3
- from Powers.database import MongoDB
4
 
 
 
5
 
6
  INSERTION_LOCK = RLock()
7
 
 
 
1
  from threading import RLock
 
2
 
3
+ from Powers import LOGGER
4
+ from Powers.database import MongoDB
5
 
6
  INSERTION_LOCK = RLock()
7
 
Powers/database/group_blacklist.py CHANGED
@@ -1,8 +1,8 @@
1
  from threading import RLock
 
2
  from Powers.database import MongoDB
3
  from Powers.database.chats_db import Chats
4
 
5
-
6
  INSERTION_LOCK = RLock()
7
  BLACKLIST_CHATS = []
8
 
 
1
  from threading import RLock
2
+
3
  from Powers.database import MongoDB
4
  from Powers.database.chats_db import Chats
5
 
 
6
  INSERTION_LOCK = RLock()
7
  BLACKLIST_CHATS = []
8
 
Powers/database/notes_db.py CHANGED
@@ -1,10 +1,10 @@
1
- from time import time
2
  from hashlib import md5
3
  from threading import RLock
 
 
4
  from Powers.database import MongoDB
5
  from Powers.utils.msg_types import Types
6
 
7
-
8
  INSERTION_LOCK = RLock()
9
 
10
 
 
 
1
  from hashlib import md5
2
  from threading import RLock
3
+ from time import time
4
+
5
  from Powers.database import MongoDB
6
  from Powers.utils.msg_types import Types
7
 
 
8
  INSERTION_LOCK = RLock()
9
 
10
 
Powers/database/pins_db.py CHANGED
@@ -1,7 +1,7 @@
1
- from Powers import LOGGER
2
  from threading import RLock
3
- from Powers.database import MongoDB
4
 
 
 
5
 
6
  INSERTION_LOCK = RLock()
7
 
 
 
1
  from threading import RLock
 
2
 
3
+ from Powers import LOGGER
4
+ from Powers.database import MongoDB
5
 
6
  INSERTION_LOCK = RLock()
7
 
Powers/database/reporting_db.py CHANGED
@@ -1,9 +1,9 @@
 
1
  from time import time
 
2
  from Powers import LOGGER
3
- from threading import RLock
4
  from Powers.database import MongoDB
5
 
6
-
7
  INSERTION_LOCK = RLock()
8
 
9
 
 
1
+ from threading import RLock
2
  from time import time
3
+
4
  from Powers import LOGGER
 
5
  from Powers.database import MongoDB
6
 
 
7
  INSERTION_LOCK = RLock()
8
 
9
 
Powers/database/rules_db.py CHANGED
@@ -1,9 +1,9 @@
 
1
  from time import time
 
2
  from Powers import LOGGER
3
- from threading import RLock
4
  from Powers.database import MongoDB
5
 
6
-
7
  INSERTION_LOCK = RLock()
8
 
9
 
 
1
+ from threading import RLock
2
  from time import time
3
+
4
  from Powers import LOGGER
 
5
  from Powers.database import MongoDB
6
 
 
7
  INSERTION_LOCK = RLock()
8
 
9
 
Powers/database/users_db.py CHANGED
@@ -1,9 +1,9 @@
 
1
  from time import time
 
2
  from Powers import LOGGER
3
- from threading import RLock
4
  from Powers.database import MongoDB
5
 
6
-
7
  INSERTION_LOCK = RLock()
8
 
9
 
 
1
+ from threading import RLock
2
  from time import time
3
+
4
  from Powers import LOGGER
 
5
  from Powers.database import MongoDB
6
 
 
7
  INSERTION_LOCK = RLock()
8
 
9
 
Powers/database/warns_db.py CHANGED
@@ -1,9 +1,9 @@
 
1
  from time import time
 
2
  from Powers import LOGGER
3
- from threading import RLock
4
  from Powers.database import MongoDB
5
 
6
-
7
  INSERTION_LOCK = RLock()
8
 
9
 
 
1
+ from threading import RLock
2
  from time import time
3
+
4
  from Powers import LOGGER
 
5
  from Powers.database import MongoDB
6
 
 
7
  INSERTION_LOCK = RLock()
8
 
9
 
Powers/plugins/__init__.py CHANGED
@@ -3,7 +3,7 @@ async def all_plugins():
3
  # work.
4
 
5
  from glob import glob
6
- from os.path import isfile, dirname, basename
7
 
8
  mod_paths = glob(dirname(__file__) + "/*.py")
9
  all_plugs = [
 
3
  # work.
4
 
5
  from glob import glob
6
+ from os.path import basename, dirname, isfile
7
 
8
  mod_paths = glob(dirname(__file__) + "/*.py")
9
  all_plugs = [
Powers/plugins/admin.py CHANGED
@@ -1,24 +1,27 @@
1
- from os import remove
2
- from html import escape
3
  from asyncio import sleep
4
- from pyrogram import filters
5
- from Powers.vars import Config
6
  from traceback import format_exc
 
 
 
 
 
 
 
 
 
 
7
  from Powers.bot_class import Gojo
8
- from Powers.utils.parser import mention_html
9
  from Powers.database.approve_db import Approve
10
  from Powers.database.reporting_db import Reporting
 
 
 
 
11
  from Powers.utils.extract_user import extract_user
12
- from pyrogram.types import Message, ChatPrivileges
13
- from pyrogram.enums import ChatType, ChatMemberStatus as CMS
14
- from Powers import LOGGER, OWNER_ID, DEV_USERS, SUPPORT_GROUP, SUPPORT_STAFF
15
- from Powers.utils.caching import (
16
- ADMIN_CACHE, TEMP_ADMIN_CACHE_BLOCK, admin_cache_reload)
17
- from Powers.utils.custom_filters import (
18
- DEV_LEVEL, command, admin_filter, owner_filter, promote_filter)
19
- from pyrogram.errors import (
20
- RPCError, FloodWait, RightForbidden, UserAdminInvalid, ChatAdminRequired,
21
- ChatAdminInviteRequired)
22
 
23
 
24
  @Gojo.on_message(command("adminlist"))
 
 
 
1
  from asyncio import sleep
2
+ from html import escape
3
+ from os import remove
4
  from traceback import format_exc
5
+
6
+ from pyrogram import filters
7
+ from pyrogram.enums import ChatMemberStatus as CMS
8
+ from pyrogram.enums import ChatType
9
+ from pyrogram.errors import (ChatAdminInviteRequired, ChatAdminRequired,
10
+ FloodWait, RightForbidden, RPCError,
11
+ UserAdminInvalid)
12
+ from pyrogram.types import ChatPrivileges, Message
13
+
14
+ from Powers import DEV_USERS, LOGGER, OWNER_ID, SUPPORT_GROUP, SUPPORT_STAFF
15
  from Powers.bot_class import Gojo
 
16
  from Powers.database.approve_db import Approve
17
  from Powers.database.reporting_db import Reporting
18
+ from Powers.utils.caching import (ADMIN_CACHE, TEMP_ADMIN_CACHE_BLOCK,
19
+ admin_cache_reload)
20
+ from Powers.utils.custom_filters import (DEV_LEVEL, admin_filter, command,
21
+ owner_filter, promote_filter)
22
  from Powers.utils.extract_user import extract_user
23
+ from Powers.utils.parser import mention_html
24
+ from Powers.vars import Config
 
 
 
 
 
 
 
 
25
 
26
 
27
  @Gojo.on_message(command("adminlist"))
Powers/plugins/antispam.py CHANGED
@@ -1,18 +1,19 @@
1
- from io import BytesIO
2
  from datetime import datetime
3
- from Powers.vars import Config
4
  from traceback import format_exc
5
- from Powers.bot_class import Gojo
 
6
  from pyrogram.types import Message
7
- from Powers.database.users_db import Users
 
 
8
  from Powers.database.antispam_db import GBan
9
- from Powers.utils.parser import mention_html
 
10
  from Powers.utils.custom_filters import command
11
  from Powers.utils.extract_user import extract_user
12
- from Powers.utils.clean_file import remove_markdown_and_html
13
- from Powers import LOGGER, MESSAGE_DUMP, SUPPORT_GROUP, SUPPORT_STAFF
14
- from pyrogram.errors import PeerIdInvalid, UserIsBlocked, MessageTooLong
15
-
16
 
17
  # Initialize
18
  db = GBan()
 
 
1
  from datetime import datetime
2
+ from io import BytesIO
3
  from traceback import format_exc
4
+
5
+ from pyrogram.errors import MessageTooLong, PeerIdInvalid, UserIsBlocked
6
  from pyrogram.types import Message
7
+
8
+ from Powers import LOGGER, MESSAGE_DUMP, SUPPORT_GROUP, SUPPORT_STAFF
9
+ from Powers.bot_class import Gojo
10
  from Powers.database.antispam_db import GBan
11
+ from Powers.database.users_db import Users
12
+ from Powers.utils.clean_file import remove_markdown_and_html
13
  from Powers.utils.custom_filters import command
14
  from Powers.utils.extract_user import extract_user
15
+ from Powers.utils.parser import mention_html
16
+ from Powers.vars import Config
 
 
17
 
18
  # Initialize
19
  db = GBan()
Powers/plugins/approve.py CHANGED
@@ -1,14 +1,15 @@
1
  from pyrogram import filters
2
- from Powers.bot_class import Gojo
3
- from Powers.utils.kbhelpers import ikb
 
 
4
  from Powers import LOGGER, SUPPORT_GROUP
5
- from Powers.utils.parser import mention_html
6
  from Powers.database.approve_db import Approve
7
- from pyrogram.types import Message, CallbackQuery
8
  from Powers.utils.extract_user import extract_user
9
- from pyrogram.enums import ChatMemberStatus as CMS
10
- from pyrogram.errors import RPCError, PeerIdInvalid, UserNotParticipant
11
- from Powers.utils.custom_filters import command, admin_filter, owner_filter
12
 
13
 
14
  @Gojo.on_message(command("approve") & admin_filter)
 
1
  from pyrogram import filters
2
+ from pyrogram.enums import ChatMemberStatus as CMS
3
+ from pyrogram.errors import PeerIdInvalid, RPCError, UserNotParticipant
4
+ from pyrogram.types import CallbackQuery, Message
5
+
6
  from Powers import LOGGER, SUPPORT_GROUP
7
+ from Powers.bot_class import Gojo
8
  from Powers.database.approve_db import Approve
9
+ from Powers.utils.custom_filters import admin_filter, command, owner_filter
10
  from Powers.utils.extract_user import extract_user
11
+ from Powers.utils.kbhelpers import ikb
12
+ from Powers.utils.parser import mention_html
 
13
 
14
 
15
  @Gojo.on_message(command("approve") & admin_filter)
Powers/plugins/bans.py CHANGED
@@ -1,21 +1,22 @@
1
  from random import choice
2
- from pyrogram import enums
3
- from Powers.vars import Config
4
  from traceback import format_exc
5
- from Powers.bot_class import Gojo
 
 
 
6
  from pyrogram.filters import regex
7
- from Powers.utils.parser import mention_html
8
- from Powers.utils.string import extract_time
9
- from Powers.utils.extract_user import extract_user
10
- from Powers.utils.extras import BAN_GIFS, KICK_GIFS
 
11
  from Powers.utils.caching import ADMIN_CACHE, admin_cache_reload
12
  from Powers.utils.custom_filters import command, restrict_filter
13
- from Powers import LOGGER, OWNER_ID, SUPPORT_GROUP, SUPPORT_STAFF
14
- from pyrogram.types import (
15
- Message, CallbackQuery, InlineKeyboardButton, InlineKeyboardMarkup)
16
- from pyrogram.errors import (
17
- RPCError, PeerIdInvalid, RightForbidden, UserAdminInvalid,
18
- ChatAdminRequired)
19
 
20
 
21
  @Gojo.on_message(command("tban") & restrict_filter)
 
1
  from random import choice
 
 
2
  from traceback import format_exc
3
+
4
+ from pyrogram import enums
5
+ from pyrogram.errors import (ChatAdminRequired, PeerIdInvalid, RightForbidden,
6
+ RPCError, UserAdminInvalid)
7
  from pyrogram.filters import regex
8
+ from pyrogram.types import (CallbackQuery, InlineKeyboardButton,
9
+ InlineKeyboardMarkup, Message)
10
+
11
+ from Powers import LOGGER, OWNER_ID, SUPPORT_GROUP, SUPPORT_STAFF
12
+ from Powers.bot_class import Gojo
13
  from Powers.utils.caching import ADMIN_CACHE, admin_cache_reload
14
  from Powers.utils.custom_filters import command, restrict_filter
15
+ from Powers.utils.extract_user import extract_user
16
+ from Powers.utils.extras import BAN_GIFS, KICK_GIFS
17
+ from Powers.utils.parser import mention_html
18
+ from Powers.utils.string import extract_time
19
+ from Powers.vars import Config
 
20
 
21
 
22
  @Gojo.on_message(command("tban") & restrict_filter)
Powers/plugins/blacklist.py CHANGED
@@ -1,12 +1,14 @@
1
  from html import escape
2
- from Powers import LOGGER
3
  from pyrogram import filters
 
 
 
 
4
  from Powers.bot_class import Gojo
5
- from Powers.utils.kbhelpers import ikb
6
- from pyrogram.types import Message, CallbackQuery
7
  from Powers.database.blacklist_db import Blacklist
8
- from pyrogram.enums import ChatMemberStatus as CMS
9
  from Powers.utils.custom_filters import command, owner_filter, restrict_filter
 
10
 
11
 
12
  @Gojo.on_message(command("blacklist") & filters.group)
 
1
  from html import escape
2
+
3
  from pyrogram import filters
4
+ from pyrogram.enums import ChatMemberStatus as CMS
5
+ from pyrogram.types import CallbackQuery, Message
6
+
7
+ from Powers import LOGGER
8
  from Powers.bot_class import Gojo
 
 
9
  from Powers.database.blacklist_db import Blacklist
 
10
  from Powers.utils.custom_filters import command, owner_filter, restrict_filter
11
+ from Powers.utils.kbhelpers import ikb
12
 
13
 
14
  @Gojo.on_message(command("blacklist") & filters.group)
Powers/plugins/botstaff.py CHANGED
@@ -1,9 +1,10 @@
1
- from Powers.bot_class import Gojo
2
- from pyrogram.types import Message
3
  from pyrogram.errors import RPCError
4
- from Powers.utils.parser import mention_html
 
 
 
5
  from Powers.utils.custom_filters import command
6
- from Powers import LOGGER, OWNER_ID, DEV_USERS, SUDO_USERS, WHITELIST_USERS
7
 
8
 
9
  @Gojo.on_message(command("botstaff", dev_cmd=True))
 
 
 
1
  from pyrogram.errors import RPCError
2
+ from pyrogram.types import Message
3
+
4
+ from Powers import DEV_USERS, LOGGER, OWNER_ID, SUDO_USERS, WHITELIST_USERS
5
+ from Powers.bot_class import Gojo
6
  from Powers.utils.custom_filters import command
7
+ from Powers.utils.parser import mention_html
8
 
9
 
10
  @Gojo.on_message(command("botstaff", dev_cmd=True))
Powers/plugins/chat_blacklist.py CHANGED
@@ -1,11 +1,12 @@
1
- from Powers import LOGGER
2
  from traceback import format_exc
3
- from Powers.bot_class import Gojo
 
4
  from pyrogram.types import Message
5
- from Powers.utils.custom_filters import command
6
- from pyrogram.errors import RPCError, PeerIdInvalid
7
- from Powers.database.group_blacklist import GroupBlacklist
8
 
 
 
 
 
9
 
10
  # initialise database
11
  db = GroupBlacklist()
 
 
1
  from traceback import format_exc
2
+
3
+ from pyrogram.errors import PeerIdInvalid, RPCError
4
  from pyrogram.types import Message
 
 
 
5
 
6
+ from Powers import LOGGER
7
+ from Powers.bot_class import Gojo
8
+ from Powers.database.group_blacklist import GroupBlacklist
9
+ from Powers.utils.custom_filters import command
10
 
11
  # initialise database
12
  db = GroupBlacklist()
Powers/plugins/dev.py CHANGED
@@ -1,19 +1,21 @@
1
  import sys
 
2
  from io import BytesIO, StringIO
 
3
  from traceback import format_exc
4
- from Powers.bot_class import Gojo
 
 
 
5
  from pyrogram.types import Message
6
- from Powers.utils.http_helper import *
7
- from time import time, gmtime, strftime
 
8
  from Powers.database.chats_db import Chats
 
9
  from Powers.utils.custom_filters import command
 
10
  from Powers.utils.parser import mention_markdown
11
- from Powers import LOGGER, UPTIME, LOGFILE, MESSAGE_DUMP
12
- from Powers.utils.clean_file import remove_markdown_and_html
13
- from asyncio import sleep, subprocess, create_subprocess_shell
14
- from pyrogram.errors import (
15
- RPCError, FloodWait, PeerIdInvalid, ChannelInvalid, ChannelPrivate,
16
- MessageTooLong, ChatAdminRequired, EntityBoundsInvalid)
17
 
18
 
19
  @Gojo.on_message(command("ping", sudo_cmd=True))
 
1
  import sys
2
+ from asyncio import create_subprocess_shell, sleep, subprocess
3
  from io import BytesIO, StringIO
4
+ from time import gmtime, strftime, time
5
  from traceback import format_exc
6
+
7
+ from pyrogram.errors import (ChannelInvalid, ChannelPrivate, ChatAdminRequired,
8
+ EntityBoundsInvalid, FloodWait, MessageTooLong,
9
+ PeerIdInvalid, RPCError)
10
  from pyrogram.types import Message
11
+
12
+ from Powers import LOGFILE, LOGGER, MESSAGE_DUMP, UPTIME
13
+ from Powers.bot_class import Gojo
14
  from Powers.database.chats_db import Chats
15
+ from Powers.utils.clean_file import remove_markdown_and_html
16
  from Powers.utils.custom_filters import command
17
+ from Powers.utils.http_helper import *
18
  from Powers.utils.parser import mention_markdown
 
 
 
 
 
 
19
 
20
 
21
  @Gojo.on_message(command("ping", sudo_cmd=True))
Powers/plugins/disable.py CHANGED
@@ -1,13 +1,15 @@
1
  from html import escape
 
2
  from pyrogram import filters
 
 
 
 
 
3
  from Powers.bot_class import Gojo
4
- from Powers import LOGGER, HELP_COMMANDS
5
  from Powers.database.disable_db import Disabling
6
- from pyrogram.enums import ChatMemberStatus as CMS
7
- from pyrogram.types import (
8
- Message, CallbackQuery, InlineKeyboardButton, InlineKeyboardMarkup)
9
- from Powers.utils.custom_filters import (
10
- command, admin_filter, owner_filter, can_change_filter)
11
 
12
 
13
  @Gojo.on_message(command("disable") & can_change_filter)
 
1
  from html import escape
2
+
3
  from pyrogram import filters
4
+ from pyrogram.enums import ChatMemberStatus as CMS
5
+ from pyrogram.types import (CallbackQuery, InlineKeyboardButton,
6
+ InlineKeyboardMarkup, Message)
7
+
8
+ from Powers import HELP_COMMANDS, LOGGER
9
  from Powers.bot_class import Gojo
 
10
  from Powers.database.disable_db import Disabling
11
+ from Powers.utils.custom_filters import (admin_filter, can_change_filter,
12
+ command, owner_filter)
 
 
 
13
 
14
 
15
  @Gojo.on_message(command("disable") & can_change_filter)
Powers/plugins/filters.py CHANGED
@@ -1,21 +1,22 @@
 
1
  from secrets import choice
2
- from pyrogram import filters
3
  from traceback import format_exc
4
- from re import escape as re_escape
 
 
5
  from pyrogram.errors import RPCError
6
- from Powers.utils.kbhelpers import ikb
 
7
  from Powers.bot_class import LOGGER, Gojo
8
- from Powers.utils.cmd_senders import send_cmd
9
  from Powers.database.filters_db import Filters
10
- from pyrogram.enums import ChatMemberStatus as CMS
11
- from Powers.utils.regex_utils import regex_searcher
 
12
  from Powers.utils.msg_types import Types, get_filter_type
13
- from pyrogram.types import Message, CallbackQuery, InlineKeyboardMarkup
14
- from Powers.utils.custom_filters import command, admin_filter, owner_filter
15
- from Powers.utils.string import (
16
- parse_button, split_quotes, build_keyboard,
17
- escape_mentions_using_curly_brackets)
18
-
19
 
20
  # Initialise
21
  db = Filters()
 
1
+ from re import escape as re_escape
2
  from secrets import choice
 
3
  from traceback import format_exc
4
+
5
+ from pyrogram import filters
6
+ from pyrogram.enums import ChatMemberStatus as CMS
7
  from pyrogram.errors import RPCError
8
+ from pyrogram.types import CallbackQuery, InlineKeyboardMarkup, Message
9
+
10
  from Powers.bot_class import LOGGER, Gojo
 
11
  from Powers.database.filters_db import Filters
12
+ from Powers.utils.cmd_senders import send_cmd
13
+ from Powers.utils.custom_filters import admin_filter, command, owner_filter
14
+ from Powers.utils.kbhelpers import ikb
15
  from Powers.utils.msg_types import Types, get_filter_type
16
+ from Powers.utils.regex_utils import regex_searcher
17
+ from Powers.utils.string import (build_keyboard,
18
+ escape_mentions_using_curly_brackets,
19
+ parse_button, split_quotes)
 
 
20
 
21
  # Initialise
22
  db = Filters()
Powers/plugins/formatting.py CHANGED
@@ -1,9 +1,10 @@
 
 
 
1
  from Powers import LOGGER
2
  from Powers.bot_class import Gojo
3
- from pyrogram import enums, filters
4
- from Powers.utils.kbhelpers import ikb
5
  from Powers.utils.custom_filters import command
6
- from pyrogram.types import Message, CallbackQuery
7
 
8
 
9
  async def gen_formatting_kb(m):
@@ -14,8 +15,9 @@ async def gen_formatting_kb(m):
14
  ("Fillings", "formatting.fillings"),
15
  ],
16
  [("Random Content", "formatting.random_content")],
17
- [("« " + "Back", "commands")],
18
  ],
 
 
19
  )
20
 
21
 
 
1
+ from pyrogram import enums, filters
2
+ from pyrogram.types import CallbackQuery, Message
3
+
4
  from Powers import LOGGER
5
  from Powers.bot_class import Gojo
 
 
6
  from Powers.utils.custom_filters import command
7
+ from Powers.utils.kbhelpers import ikb
8
 
9
 
10
  async def gen_formatting_kb(m):
 
15
  ("Fillings", "formatting.fillings"),
16
  ],
17
  [("Random Content", "formatting.random_content")],
 
18
  ],
19
+ True,
20
+ "commands"
21
  )
22
 
23
 
Powers/plugins/fun.py CHANGED
@@ -1,14 +1,17 @@
1
  from html import escape
2
  from random import choice
 
3
  from pyrogram import enums
4
- from Powers.utils import extras
5
- from Powers.bot_class import Gojo
6
- from pyrogram.types import Message
7
- from Powers import LOGGER, DEV_USERS
8
  from pyrogram.errors import MessageTooLong
 
 
 
 
 
9
  from Powers.utils.custom_filters import command
10
  from Powers.utils.extract_user import extract_user
11
- from Powers.utils.extras import NOWYES as NO, YESWNO as YES
 
12
 
13
 
14
  @Gojo.on_message(command("shout"))
 
1
  from html import escape
2
  from random import choice
3
+
4
  from pyrogram import enums
 
 
 
 
5
  from pyrogram.errors import MessageTooLong
6
+ from pyrogram.types import Message
7
+
8
+ from Powers import DEV_USERS, LOGGER
9
+ from Powers.bot_class import Gojo
10
+ from Powers.utils import extras
11
  from Powers.utils.custom_filters import command
12
  from Powers.utils.extract_user import extract_user
13
+ from Powers.utils.extras import NOWYES as NO
14
+ from Powers.utils.extras import YESWNO as YES
15
 
16
 
17
  @Gojo.on_message(command("shout"))
Powers/plugins/greetings.py CHANGED
@@ -1,20 +1,21 @@
1
  from html import escape
2
  from secrets import choice
 
 
 
 
 
 
3
  from Powers import DEV_USERS
4
- from Powers.vars import Config
5
  from Powers.bot_class import Gojo
6
- from pyrogram import enums, filters
7
  from Powers.database.antispam_db import GBan
8
  from Powers.database.greetings_db import Greetings
9
- from pyrogram.enums import ChatMemberStatus as CMS
10
  from Powers.utils.msg_types import Types, get_wlcm_type
11
- from pyrogram.errors import RPCError, ChatAdminRequired
12
- from Powers.utils.parser import mention_html, escape_markdown
13
- from pyrogram.types import Message, ChatMemberUpdated, InlineKeyboardMarkup
14
- from Powers.utils.custom_filters import command, admin_filter, bot_admin_filter
15
- from Powers.utils.string import (
16
- parse_button, build_keyboard, escape_invalid_curly_brackets)
17
-
18
 
19
  # Initialize
20
  gdb = GBan()
 
1
  from html import escape
2
  from secrets import choice
3
+
4
+ from pyrogram import enums, filters
5
+ from pyrogram.enums import ChatMemberStatus as CMS
6
+ from pyrogram.errors import ChatAdminRequired, RPCError
7
+ from pyrogram.types import ChatMemberUpdated, InlineKeyboardMarkup, Message
8
+
9
  from Powers import DEV_USERS
 
10
  from Powers.bot_class import Gojo
 
11
  from Powers.database.antispam_db import GBan
12
  from Powers.database.greetings_db import Greetings
13
+ from Powers.utils.custom_filters import admin_filter, bot_admin_filter, command
14
  from Powers.utils.msg_types import Types, get_wlcm_type
15
+ from Powers.utils.parser import escape_markdown, mention_html
16
+ from Powers.utils.string import (build_keyboard, escape_invalid_curly_brackets,
17
+ parse_button)
18
+ from Powers.vars import Config
 
 
 
19
 
20
  # Initialize
21
  gdb = GBan()
Powers/plugins/info.py CHANGED
@@ -1,18 +1,19 @@
1
  import os
2
  from asyncio import sleep
3
- from pyrogram import enums
4
  from datetime import datetime
5
- from Powers.vars import Config
6
  from traceback import format_exc
7
- from Powers.bot_class import Gojo
 
 
8
  from pyrogram.types import Message
 
 
 
 
9
  from Powers.database.antispam_db import GBan
10
  from Powers.utils.custom_filters import command
11
  from Powers.utils.extract_user import extract_user
12
- from pyrogram.errors import RPCError, EntityBoundsInvalid, MediaCaptionTooLong
13
- from Powers import (
14
- LOGGER, DEV_USERS, SUDO_USERS, SUPPORT_STAFF, WHITELIST_USERS)
15
-
16
 
17
  gban_db = GBan()
18
 
 
1
  import os
2
  from asyncio import sleep
 
3
  from datetime import datetime
 
4
  from traceback import format_exc
5
+
6
+ from pyrogram import enums
7
+ from pyrogram.errors import EntityBoundsInvalid, MediaCaptionTooLong, RPCError
8
  from pyrogram.types import Message
9
+
10
+ from Powers import (DEV_USERS, LOGGER, SUDO_USERS, SUPPORT_STAFF,
11
+ WHITELIST_USERS)
12
+ from Powers.bot_class import Gojo
13
  from Powers.database.antispam_db import GBan
14
  from Powers.utils.custom_filters import command
15
  from Powers.utils.extract_user import extract_user
16
+ from Powers.vars import Config
 
 
 
17
 
18
  gban_db = GBan()
19
 
Powers/plugins/initial.py CHANGED
@@ -1,19 +1,20 @@
1
- from Powers import LOGGER
2
  from pyrogram import filters
3
- from Powers.bot_class import Gojo
4
- from pyrogram.types import Message
5
  from pyrogram.errors import RPCError
6
- from Powers.database.pins_db import Pins
7
- from Powers.database.chats_db import Chats
8
- from Powers.database.rules_db import Rules
9
- from Powers.database.users_db import Users
10
  from Powers.database.approve_db import Approve
11
- from Powers.database.filters_db import Filters
12
- from Powers.database.disable_db import Disabling
13
  from Powers.database.blacklist_db import Blacklist
 
 
 
14
  from Powers.database.greetings_db import Greetings
15
- from Powers.database.reporting_db import Reporting
16
  from Powers.database.notes_db import Notes, NotesSettings
 
 
 
 
17
 
18
 
19
  @Gojo.on_message(filters.group, group=4)
 
 
1
  from pyrogram import filters
 
 
2
  from pyrogram.errors import RPCError
3
+ from pyrogram.types import Message
4
+
5
+ from Powers import LOGGER
6
+ from Powers.bot_class import Gojo
7
  from Powers.database.approve_db import Approve
 
 
8
  from Powers.database.blacklist_db import Blacklist
9
+ from Powers.database.chats_db import Chats
10
+ from Powers.database.disable_db import Disabling
11
+ from Powers.database.filters_db import Filters
12
  from Powers.database.greetings_db import Greetings
 
13
  from Powers.database.notes_db import Notes, NotesSettings
14
+ from Powers.database.pins_db import Pins
15
+ from Powers.database.reporting_db import Reporting
16
+ from Powers.database.rules_db import Rules
17
+ from Powers.database.users_db import Users
18
 
19
 
20
  @Gojo.on_message(filters.group, group=4)
Powers/plugins/locks.py CHANGED
@@ -1,10 +1,12 @@
1
- from Powers import LOGGER
2
  from asyncio import sleep
 
 
 
 
 
3
  from Powers.bot_class import Gojo
4
  from Powers.database.approve_db import Approve
5
- from pyrogram.types import Message, ChatPermissions
6
  from Powers.utils.custom_filters import command, restrict_filter
7
- from pyrogram.errors import RPCError, ChatNotModified, ChatAdminRequired
8
 
9
 
10
  @Gojo.on_message(command("locktypes"))
 
 
1
  from asyncio import sleep
2
+
3
+ from pyrogram.errors import ChatAdminRequired, ChatNotModified, RPCError
4
+ from pyrogram.types import ChatPermissions, Message
5
+
6
+ from Powers import LOGGER
7
  from Powers.bot_class import Gojo
8
  from Powers.database.approve_db import Approve
 
9
  from Powers.utils.custom_filters import command, restrict_filter
 
10
 
11
 
12
  @Gojo.on_message(command("locktypes"))
Powers/plugins/muting.py CHANGED
@@ -1,19 +1,21 @@
1
  from random import choice
2
- from Powers.vars import Config
3
- from Powers.bot_class import Gojo
 
4
  from pyrogram.filters import regex
 
 
 
 
 
 
 
 
 
5
  from Powers.utils.extras import MUTE_GIFS
6
  from Powers.utils.parser import mention_html
7
  from Powers.utils.string import extract_time
8
- from Powers.utils.extract_user import extract_user
9
- from Powers.utils.caching import ADMIN_CACHE, admin_cache_reload
10
- from Powers.utils.custom_filters import command, restrict_filter
11
- from Powers import LOGGER, OWNER_ID, SUPPORT_GROUP, SUPPORT_STAFF
12
- from pyrogram.errors import (
13
- RPCError, RightForbidden, ChatAdminRequired, UserNotParticipant)
14
- from pyrogram.types import (
15
- Message, CallbackQuery, ChatPermissions, InlineKeyboardButton,
16
- InlineKeyboardMarkup)
17
 
18
 
19
  @Gojo.on_message(command("tmute") & restrict_filter)
 
1
  from random import choice
2
+
3
+ from pyrogram.errors import (ChatAdminRequired, RightForbidden, RPCError,
4
+ UserNotParticipant)
5
  from pyrogram.filters import regex
6
+ from pyrogram.types import (CallbackQuery, ChatPermissions,
7
+ InlineKeyboardButton, InlineKeyboardMarkup,
8
+ Message)
9
+
10
+ from Powers import LOGGER, OWNER_ID, SUPPORT_GROUP, SUPPORT_STAFF
11
+ from Powers.bot_class import Gojo
12
+ from Powers.utils.caching import ADMIN_CACHE, admin_cache_reload
13
+ from Powers.utils.custom_filters import command, restrict_filter
14
+ from Powers.utils.extract_user import extract_user
15
  from Powers.utils.extras import MUTE_GIFS
16
  from Powers.utils.parser import mention_html
17
  from Powers.utils.string import extract_time
18
+ from Powers.vars import Config
 
 
 
 
 
 
 
 
19
 
20
 
21
  @Gojo.on_message(command("tmute") & restrict_filter)
Powers/plugins/notes.py CHANGED
@@ -1,20 +1,22 @@
1
- from Powers import LOGGER
2
  from secrets import choice
3
- from Powers.vars import Config
4
  from traceback import format_exc
5
- from Powers.bot_class import Gojo
6
  from pyrogram import enums, filters
 
7
  from pyrogram.errors import RPCError
8
- from Powers.utils.kbhelpers import ikb
 
 
 
 
9
  from Powers.utils.cmd_senders import send_cmd
10
- from pyrogram.enums import ChatMemberStatus as CMS
 
11
  from Powers.utils.msg_types import Types, get_note_type
12
- from Powers.database.notes_db import Notes, NotesSettings
13
- from pyrogram.types import Message, CallbackQuery, InlineKeyboardMarkup
14
- from Powers.utils.custom_filters import command, admin_filter, owner_filter
15
- from Powers.utils.string import (
16
- parse_button, build_keyboard, escape_mentions_using_curly_brackets)
17
-
18
 
19
  # Initialise
20
  db = Notes()
 
 
1
  from secrets import choice
 
2
  from traceback import format_exc
3
+
4
  from pyrogram import enums, filters
5
+ from pyrogram.enums import ChatMemberStatus as CMS
6
  from pyrogram.errors import RPCError
7
+ from pyrogram.types import CallbackQuery, InlineKeyboardMarkup, Message
8
+
9
+ from Powers import LOGGER
10
+ from Powers.bot_class import Gojo
11
+ from Powers.database.notes_db import Notes, NotesSettings
12
  from Powers.utils.cmd_senders import send_cmd
13
+ from Powers.utils.custom_filters import admin_filter, command, owner_filter
14
+ from Powers.utils.kbhelpers import ikb
15
  from Powers.utils.msg_types import Types, get_note_type
16
+ from Powers.utils.string import (build_keyboard,
17
+ escape_mentions_using_curly_brackets,
18
+ parse_button)
19
+ from Powers.vars import Config
 
 
20
 
21
  # Initialise
22
  db = Notes()
Powers/plugins/pin.py CHANGED
@@ -1,14 +1,16 @@
1
- from Powers.bot_class import Gojo
2
- from pyrogram.filters import regex
3
- from Powers.utils.kbhelpers import ikb
4
  from html import escape as escape_html
 
 
 
 
 
 
5
  from Powers import LOGGER, SUPPORT_GROUP
 
6
  from Powers.database.pins_db import Pins
7
- from pyrogram.types import Message, CallbackQuery
8
- from pyrogram.enums import ChatMemberStatus as CMS
9
- from Powers.utils.string import parse_button, build_keyboard
10
- from Powers.utils.custom_filters import command, admin_filter
11
- from pyrogram.errors import RPCError, RightForbidden, ChatAdminRequired
12
 
13
 
14
  @Gojo.on_message(command("pin") & admin_filter)
 
 
 
 
1
  from html import escape as escape_html
2
+
3
+ from pyrogram.enums import ChatMemberStatus as CMS
4
+ from pyrogram.errors import ChatAdminRequired, RightForbidden, RPCError
5
+ from pyrogram.filters import regex
6
+ from pyrogram.types import CallbackQuery, Message
7
+
8
  from Powers import LOGGER, SUPPORT_GROUP
9
+ from Powers.bot_class import Gojo
10
  from Powers.database.pins_db import Pins
11
+ from Powers.utils.custom_filters import admin_filter, command
12
+ from Powers.utils.kbhelpers import ikb
13
+ from Powers.utils.string import build_keyboard, parse_button
 
 
14
 
15
 
16
  @Gojo.on_message(command("pin") & admin_filter)
Powers/plugins/purge.py CHANGED
@@ -1,10 +1,12 @@
1
  from asyncio import sleep
 
 
 
 
 
2
  from Powers import SUPPORT_GROUP
3
  from Powers.bot_class import Gojo
4
- from pyrogram.types import Message
5
- from pyrogram.enums import ChatType
6
- from pyrogram.errors import RPCError, MessageDeleteForbidden
7
- from Powers.utils.custom_filters import command, admin_filter
8
 
9
 
10
  @Gojo.on_message(command("purge") & admin_filter)
 
1
  from asyncio import sleep
2
+
3
+ from pyrogram.enums import ChatType
4
+ from pyrogram.errors import MessageDeleteForbidden, RPCError
5
+ from pyrogram.types import Message
6
+
7
  from Powers import SUPPORT_GROUP
8
  from Powers.bot_class import Gojo
9
+ from Powers.utils.custom_filters import admin_filter, command
 
 
 
10
 
11
 
12
  @Gojo.on_message(command("purge") & admin_filter)
Powers/plugins/report.py CHANGED
@@ -1,14 +1,17 @@
1
- from pyrogram import filters
2
  from traceback import format_exc
3
- from Powers.bot_class import Gojo
 
 
 
4
  from pyrogram.errors import RPCError
5
- from Powers.utils.kbhelpers import ikb
 
6
  from Powers import LOGGER, SUPPORT_STAFF
7
- from Powers.utils.parser import mention_html
8
- from pyrogram.types import Message, CallbackQuery
9
  from Powers.database.reporting_db import Reporting
10
- from Powers.utils.custom_filters import command, admin_filter
11
- from pyrogram.enums import ChatType, ChatMembersFilter as cmf
 
12
 
13
 
14
  @Gojo.on_message(
 
 
1
  from traceback import format_exc
2
+
3
+ from pyrogram import filters
4
+ from pyrogram.enums import ChatMembersFilter as cmf
5
+ from pyrogram.enums import ChatType
6
  from pyrogram.errors import RPCError
7
+ from pyrogram.types import CallbackQuery, Message
8
+
9
  from Powers import LOGGER, SUPPORT_STAFF
10
+ from Powers.bot_class import Gojo
 
11
  from Powers.database.reporting_db import Reporting
12
+ from Powers.utils.custom_filters import admin_filter, command
13
+ from Powers.utils.kbhelpers import ikb
14
+ from Powers.utils.parser import mention_html
15
 
16
 
17
  @Gojo.on_message(
Powers/plugins/rules.py CHANGED
@@ -1,11 +1,12 @@
1
- from Powers import LOGGER
2
  from pyrogram import filters
3
- from Powers.vars import Config
 
 
4
  from Powers.bot_class import Gojo
5
- from Powers.utils.kbhelpers import ikb
6
  from Powers.database.rules_db import Rules
7
- from pyrogram.types import Message, CallbackQuery
8
- from Powers.utils.custom_filters import command, admin_filter
 
9
 
10
 
11
  @Gojo.on_message(command("rules") & filters.group)
 
 
1
  from pyrogram import filters
2
+ from pyrogram.types import CallbackQuery, Message
3
+
4
+ from Powers import LOGGER
5
  from Powers.bot_class import Gojo
 
6
  from Powers.database.rules_db import Rules
7
+ from Powers.utils.custom_filters import admin_filter, command
8
+ from Powers.utils.kbhelpers import ikb
9
+ from Powers.vars import Config
10
 
11
 
12
  @Gojo.on_message(command("rules") & filters.group)
Powers/plugins/start.py CHANGED
@@ -1,17 +1,19 @@
1
  from random import choice
2
- from Powers.vars import Config
3
- from Powers.bot_class import Gojo
4
  from pyrogram import enums, filters
5
- from Powers.utils.kbhelpers import ikb
6
- from Powers import LOGGER, HELP_COMMANDS
7
- from Powers.utils.extras import StartPic
 
 
 
 
8
  from Powers.utils.custom_filters import command
9
- from pyrogram.types import Message, CallbackQuery
10
- from pyrogram.enums import ChatType, ChatMemberStatus as CMS
11
- from pyrogram.errors import UserIsBlocked, QueryIdInvalid, MessageNotModified
12
- from Powers.utils.start_utils import (
13
- gen_cmds_kb, gen_start_kb, get_help_msg, get_private_note,
14
- get_private_rules)
15
 
16
 
17
  @Gojo.on_message(
@@ -145,9 +147,7 @@ Join my [News Channel](http://t.me/gojo_bots_network) to get information on all
145
 
146
  @Gojo.on_callback_query(filters.regex("^commands$"))
147
  async def commands_menu(_, q: CallbackQuery):
148
- cmds = sorted(list(HELP_COMMANDS.keys()))
149
- kb = [cmd.lower() for cmd in cmds]
150
- ou = [kb[i : i + 3] for i in range(0, len(kb), 3)]
151
  keyboard = ikb(ou, True)
152
  try:
153
  cpt = f"""
@@ -218,9 +218,7 @@ async def help_menu(_, m: Message):
218
  else:
219
 
220
  if m.chat.type == ChatType.PRIVATE:
221
- cmds = sorted(list(HELP_COMMANDS.keys()))
222
- kb = [cmd.lower() for cmd in cmds]
223
- ou = [kb[i : i + 3] for i in range(0, len(kb), 3)]
224
  keyboard = ikb(ou, True)
225
  msg = f"""
226
  Hey **[{m.from_user.first_name}](http://t.me/{m.from_user.username})**!My name is Gojo✨.
@@ -247,15 +245,13 @@ Commands available:
247
  async def get_module_info(_, q: CallbackQuery):
248
  module = q.data.split(".", 1)[1]
249
 
250
- help_msg = (f"**{str(module)}:**\n\n" + HELP_COMMANDS[module]["help_msg"],)
251
 
252
- help_kb = HELP_COMMANDS[module]["buttons"] + [
253
- [("« " + "Back", "commands")],
254
- ]
255
  await q.edit_message_caption(
256
  caption=help_msg,
257
  parse_mode=enums.ParseMode.MARKDOWN,
258
- reply_markup=ikb(help_kb),
259
  )
260
  await q.answer()
261
  return
 
1
  from random import choice
2
+
 
3
  from pyrogram import enums, filters
4
+ from pyrogram.enums import ChatMemberStatus as CMS
5
+ from pyrogram.enums import ChatType
6
+ from pyrogram.errors import MessageNotModified, QueryIdInvalid, UserIsBlocked
7
+ from pyrogram.types import CallbackQuery, Message
8
+
9
+ from Powers import HELP_COMMANDS, LOGGER
10
+ from Powers.bot_class import Gojo
11
  from Powers.utils.custom_filters import command
12
+ from Powers.utils.extras import StartPic
13
+ from Powers.utils.kbhelpers import ikb
14
+ from Powers.utils.start_utils import (gen_cmds_kb, gen_start_kb, get_help_msg,
15
+ get_private_note, get_private_rules)
16
+ from Powers.vars import Config
 
17
 
18
 
19
  @Gojo.on_message(
 
147
 
148
  @Gojo.on_callback_query(filters.regex("^commands$"))
149
  async def commands_menu(_, q: CallbackQuery):
150
+ ou = await gen_cmds_kb(q.message)
 
 
151
  keyboard = ikb(ou, True)
152
  try:
153
  cpt = f"""
 
218
  else:
219
 
220
  if m.chat.type == ChatType.PRIVATE:
221
+ ou = await gen_cmds_kb(m)
 
 
222
  keyboard = ikb(ou, True)
223
  msg = f"""
224
  Hey **[{m.from_user.first_name}](http://t.me/{m.from_user.username})**!My name is Gojo✨.
 
245
  async def get_module_info(_, q: CallbackQuery):
246
  module = q.data.split(".", 1)[1]
247
 
248
+ help_msg = (f"**{str(module)}:**\n\n" + HELP_COMMANDS[f"plugins.{module}"]["help_msg"],)
249
 
250
+ help_kb = HELP_COMMANDS[f"plugins.{module}"]["buttons"]
 
 
251
  await q.edit_message_caption(
252
  caption=help_msg,
253
  parse_mode=enums.ParseMode.MARKDOWN,
254
+ reply_markup=ikb(help_kb, True, todo="commands"),
255
  )
256
  await q.answer()
257
  return
Powers/plugins/stats.py CHANGED
@@ -1,19 +1,20 @@
1
  from pyrogram import enums
2
- from Powers.bot_class import Gojo
3
  from pyrogram.types import Message
4
- from Powers.database.pins_db import Pins
5
- from Powers.database.chats_db import Chats
6
- from Powers.database.rules_db import Rules
7
- from Powers.database.users_db import Users
8
  from Powers.database.antispam_db import GBan
9
  from Powers.database.approve_db import Approve
10
- from Powers.database.filters_db import Filters
11
- from Powers.utils.custom_filters import command
12
- from Powers.database.disable_db import Disabling
13
  from Powers.database.blacklist_db import Blacklist
 
 
 
14
  from Powers.database.greetings_db import Greetings
15
- from Powers.database.warns_db import Warns, WarnSettings
16
  from Powers.database.notes_db import Notes, NotesSettings
 
 
 
 
 
17
 
18
 
19
  @Gojo.on_message(command("stats", dev_cmd=True))
 
1
  from pyrogram import enums
 
2
  from pyrogram.types import Message
3
+
4
+ from Powers.bot_class import Gojo
 
 
5
  from Powers.database.antispam_db import GBan
6
  from Powers.database.approve_db import Approve
 
 
 
7
  from Powers.database.blacklist_db import Blacklist
8
+ from Powers.database.chats_db import Chats
9
+ from Powers.database.disable_db import Disabling
10
+ from Powers.database.filters_db import Filters
11
  from Powers.database.greetings_db import Greetings
 
12
  from Powers.database.notes_db import Notes, NotesSettings
13
+ from Powers.database.pins_db import Pins
14
+ from Powers.database.rules_db import Rules
15
+ from Powers.database.users_db import Users
16
+ from Powers.database.warns_db import Warns, WarnSettings
17
+ from Powers.utils.custom_filters import command
18
 
19
 
20
  @Gojo.on_message(command("stats", dev_cmd=True))
Powers/plugins/utils.py CHANGED
@@ -1,21 +1,23 @@
1
- import re
2
  import asyncio
3
- import aiofiles
4
- from Powers import *
5
- from os import remove
6
  from io import BytesIO
7
- from wikipedia import summary
8
- from Powers.bot_class import Gojo
 
9
  from gpytranslate import Translator
10
  from pyrogram import enums, filters
11
  from pyrogram.enums import ChatType
12
- from Powers.utils.http_helper import *
13
- from Powers.database.users_db import Users
14
  from pyrogram.errors import MessageTooLong
15
- from Powers.utils.custom_filters import command
 
 
 
 
 
 
16
  from Powers.utils.clean_file import remove_markdown_and_html
17
- from wikipedia.exceptions import PageError, DisambiguationError
18
- from pyrogram.types import Message, InlineKeyboardButton, InlineKeyboardMarkup
19
 
20
 
21
  @Gojo.on_message(command("wiki"))
 
 
1
  import asyncio
2
+ import re
 
 
3
  from io import BytesIO
4
+ from os import remove
5
+
6
+ import aiofiles
7
  from gpytranslate import Translator
8
  from pyrogram import enums, filters
9
  from pyrogram.enums import ChatType
 
 
10
  from pyrogram.errors import MessageTooLong
11
+ from pyrogram.types import InlineKeyboardButton, InlineKeyboardMarkup, Message
12
+ from wikipedia import summary
13
+ from wikipedia.exceptions import DisambiguationError, PageError
14
+
15
+ from Powers import *
16
+ from Powers.bot_class import Gojo
17
+ from Powers.database.users_db import Users
18
  from Powers.utils.clean_file import remove_markdown_and_html
19
+ from Powers.utils.custom_filters import command
20
+ from Powers.utils.http_helper import *
21
 
22
 
23
  @Gojo.on_message(command("wiki"))
Powers/plugins/warns.py CHANGED
@@ -1,19 +1,21 @@
1
  from time import time
 
2
  from pyrogram import filters
3
- from Powers.vars import Config
4
- from Powers.bot_class import Gojo
5
  from pyrogram.errors import RPCError
 
 
 
 
6
  from Powers import LOGGER, SUPPORT_STAFF
 
7
  from Powers.database.rules_db import Rules
8
  from Powers.database.users_db import Users
9
- from Powers.utils.parser import mention_html
10
- from Powers.utils.extract_user import extract_user
11
  from Powers.database.warns_db import Warns, WarnSettings
12
  from Powers.utils.caching import ADMIN_CACHE, admin_cache_reload
13
- from Powers.utils.custom_filters import command, admin_filter, restrict_filter
14
- from pyrogram.types import (
15
- Message, CallbackQuery, ChatPermissions, InlineKeyboardButton,
16
- InlineKeyboardMarkup)
17
 
18
 
19
  @Gojo.on_message(
 
1
  from time import time
2
+
3
  from pyrogram import filters
 
 
4
  from pyrogram.errors import RPCError
5
+ from pyrogram.types import (CallbackQuery, ChatPermissions,
6
+ InlineKeyboardButton, InlineKeyboardMarkup,
7
+ Message)
8
+
9
  from Powers import LOGGER, SUPPORT_STAFF
10
+ from Powers.bot_class import Gojo
11
  from Powers.database.rules_db import Rules
12
  from Powers.database.users_db import Users
 
 
13
  from Powers.database.warns_db import Warns, WarnSettings
14
  from Powers.utils.caching import ADMIN_CACHE, admin_cache_reload
15
+ from Powers.utils.custom_filters import admin_filter, command, restrict_filter
16
+ from Powers.utils.extract_user import extract_user
17
+ from Powers.utils.parser import mention_html
18
+ from Powers.vars import Config
19
 
20
 
21
  @Gojo.on_message(
Powers/plugins/watchers.py CHANGED
@@ -1,21 +1,22 @@
 
1
  from time import time
2
- from pyrogram import filters
3
  from traceback import format_exc
 
 
 
 
 
 
4
  from Powers.bot_class import Gojo
5
- from re import escape as re_escape
6
- from Powers.database.pins_db import Pins
7
- from Powers.utils.parser import mention_html
8
  from Powers.database.approve_db import Approve
9
  from Powers.database.blacklist_db import Blacklist
10
- from Powers.utils.regex_utils import regex_searcher
11
- from pyrogram.types import Message, ChatPermissions
12
- from Powers import LOGGER, MESSAGE_DUMP, SUPPORT_STAFF
13
- from Powers.database.warns_db import Warns, WarnSettings
14
  from Powers.database.group_blacklist import BLACKLIST_CHATS
15
- from Powers.database.antispam_db import ANTISPAM_BANNED, GBan
 
16
  from Powers.utils.caching import ADMIN_CACHE, admin_cache_reload
17
- from pyrogram.errors import RPCError, UserAdminInvalid, ChatAdminRequired
18
-
19
 
20
  # Initialise
21
  gban_db = GBan()
 
1
+ from re import escape as re_escape
2
  from time import time
 
3
  from traceback import format_exc
4
+
5
+ from pyrogram import filters
6
+ from pyrogram.errors import ChatAdminRequired, RPCError, UserAdminInvalid
7
+ from pyrogram.types import ChatPermissions, Message
8
+
9
+ from Powers import LOGGER, MESSAGE_DUMP, SUPPORT_STAFF
10
  from Powers.bot_class import Gojo
11
+ from Powers.database.antispam_db import ANTISPAM_BANNED, GBan
 
 
12
  from Powers.database.approve_db import Approve
13
  from Powers.database.blacklist_db import Blacklist
 
 
 
 
14
  from Powers.database.group_blacklist import BLACKLIST_CHATS
15
+ from Powers.database.pins_db import Pins
16
+ from Powers.database.warns_db import Warns, WarnSettings
17
  from Powers.utils.caching import ADMIN_CACHE, admin_cache_reload
18
+ from Powers.utils.parser import mention_html
19
+ from Powers.utils.regex_utils import regex_searcher
20
 
21
  # Initialise
22
  gban_db = GBan()
Powers/utils/admin_check.py CHANGED
@@ -1,8 +1,9 @@
1
  from traceback import format_exc
2
- from pyrogram.types import Message, CallbackQuery
3
  from pyrogram.enums import ChatMemberStatus as CMS
4
- from Powers import LOGGER, OWNER_ID, DEV_USERS, SUDO_USERS
5
 
 
6
 
7
  SUDO_LEVEL = SUDO_USERS + DEV_USERS + [int(OWNER_ID)]
8
  DEV_LEVEL = DEV_USERS + [int(OWNER_ID)]
 
1
  from traceback import format_exc
2
+
3
  from pyrogram.enums import ChatMemberStatus as CMS
4
+ from pyrogram.types import CallbackQuery, Message
5
 
6
+ from Powers import DEV_USERS, LOGGER, OWNER_ID, SUDO_USERS
7
 
8
  SUDO_LEVEL = SUDO_USERS + DEV_USERS + [int(OWNER_ID)]
9
  DEV_LEVEL = DEV_USERS + [int(OWNER_ID)]
Powers/utils/caching.py CHANGED
@@ -1,12 +1,13 @@
1
- from typing import List
2
- from Powers import LOGGER
3
  from threading import RLock
 
 
 
4
  from cachetools import TTLCache
5
- from time import time, perf_counter
6
- from pyrogram.types import CallbackQuery
7
  from pyrogram.enums import ChatMembersFilter
 
8
  from pyrogram.types.messages_and_media.message import Message
9
 
 
10
 
11
  THREAD_LOCK = RLock()
12
 
 
 
 
1
  from threading import RLock
2
+ from time import perf_counter, time
3
+ from typing import List
4
+
5
  from cachetools import TTLCache
 
 
6
  from pyrogram.enums import ChatMembersFilter
7
+ from pyrogram.types import CallbackQuery
8
  from pyrogram.types.messages_and_media.message import Message
9
 
10
+ from Powers import LOGGER
11
 
12
  THREAD_LOCK = RLock()
13
 
Powers/utils/custom_filters.py CHANGED
@@ -1,15 +1,18 @@
 
 
1
  from shlex import split
2
- from Powers.vars import Config
3
  from typing import List, Union
 
 
 
 
4
  from pyrogram.filters import create
5
- from re import escape, compile as compile_re
 
 
6
  from Powers.database.disable_db import Disabling
7
- from pyrogram.types import Message, CallbackQuery
8
- from Powers import OWNER_ID, DEV_USERS, SUDO_USERS
9
- from pyrogram.errors import RPCError, UserNotParticipant
10
- from pyrogram.enums import ChatType, ChatMemberStatus as CMS
11
  from Powers.utils.caching import ADMIN_CACHE, admin_cache_reload
12
-
13
 
14
  SUDO_LEVEL = set(SUDO_USERS + DEV_USERS + [int(OWNER_ID)])
15
  DEV_LEVEL = set(DEV_USERS + [int(OWNER_ID)])
 
1
+ from re import compile as compile_re
2
+ from re import escape
3
  from shlex import split
 
4
  from typing import List, Union
5
+
6
+ from pyrogram.enums import ChatMemberStatus as CMS
7
+ from pyrogram.enums import ChatType
8
+ from pyrogram.errors import RPCError, UserNotParticipant
9
  from pyrogram.filters import create
10
+ from pyrogram.types import CallbackQuery, Message
11
+
12
+ from Powers import DEV_USERS, OWNER_ID, SUDO_USERS
13
  from Powers.database.disable_db import Disabling
 
 
 
 
14
  from Powers.utils.caching import ADMIN_CACHE, admin_cache_reload
15
+ from Powers.vars import Config
16
 
17
  SUDO_LEVEL = set(SUDO_USERS + DEV_USERS + [int(OWNER_ID)])
18
  DEV_LEVEL = set(DEV_USERS + [int(OWNER_ID)])
Powers/utils/extract_user.py CHANGED
@@ -1,10 +1,12 @@
 
1
  from typing import Tuple
 
 
 
 
2
  from Powers import LOGGER
3
- from traceback import format_exc
4
  from Powers.bot_class import Gojo
5
  from Powers.database.users_db import Users
6
- from pyrogram.enums import MessageEntityType as entity
7
- from pyrogram.types.messages_and_media.message import Message
8
 
9
 
10
  async def extract_user(c: Gojo, m: Message) -> Tuple[int, str, str]:
 
1
+ from traceback import format_exc
2
  from typing import Tuple
3
+
4
+ from pyrogram.enums import MessageEntityType as entity
5
+ from pyrogram.types.messages_and_media.message import Message
6
+
7
  from Powers import LOGGER
 
8
  from Powers.bot_class import Gojo
9
  from Powers.database.users_db import Users
 
 
10
 
11
 
12
  async def extract_user(c: Gojo, m: Message) -> Tuple[int, str, str]: