Captain Ezio commited on
Commit
c1d601a
·
1 Parent(s): d863e3a

Minor changes

Browse files
Powers/plugins/admin.py CHANGED
@@ -6,7 +6,7 @@ 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.utils.chat_type import chattype
10
  from Powers.utils.parser import mention_html
11
  from Powers.database.approve_db import Approve
12
  from Powers.database.reporting_db import Reporting
@@ -25,8 +25,8 @@ from pyrogram.errors import (
25
  @Gojo.on_message(command("adminlist"))
26
  async def adminlist_show(_, m: Message):
27
  global ADMIN_CACHE
28
- chat_type = await chattype(m)
29
- if chat_type != "supergroup":
30
  return await m.reply_text(
31
  text="This command is made to be used in groups only!",
32
  )
@@ -112,8 +112,8 @@ async def zombie_clean(c: Gojo, m: Message):
112
  @Gojo.on_message(command("admincache"))
113
  async def reload_admins(_, m: Message):
114
  global TEMP_ADMIN_CACHE_BLOCK
115
- chat_type = await chattype(m)
116
- if chat_type != "supergroup":
117
  return await m.reply_text(
118
  "This command is made to be used in groups only!",
119
  )
 
6
  from traceback import format_exc
7
  from Powers.bot_class import Gojo
8
  from pyrogram.types import Message
9
+ from pyrogram.enums import ChatType
10
  from Powers.utils.parser import mention_html
11
  from Powers.database.approve_db import Approve
12
  from Powers.database.reporting_db import Reporting
 
25
  @Gojo.on_message(command("adminlist"))
26
  async def adminlist_show(_, m: Message):
27
  global ADMIN_CACHE
28
+
29
+ if m.chat.type != ChatType.SUPERGROUP:
30
  return await m.reply_text(
31
  text="This command is made to be used in groups only!",
32
  )
 
112
  @Gojo.on_message(command("admincache"))
113
  async def reload_admins(_, m: Message):
114
  global TEMP_ADMIN_CACHE_BLOCK
115
+
116
+ if m.chat.type != ChatType.SUPERGROUP:
117
  return await m.reply_text(
118
  "This command is made to be used in groups only!",
119
  )
Powers/plugins/greetings.py CHANGED
@@ -4,7 +4,6 @@ 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.utils.chat_type import chattype
8
  from Powers.database.antispam_db import GBan
9
  from Powers.database.greetings_db import Greetings
10
  from pyrogram.enums import ChatMemberStatus as CMS
@@ -20,6 +19,7 @@ from Powers.utils.string import (
20
  # Initialize
21
  gdb = GBan()
22
 
 
23
 
24
  async def escape_mentions_using_curly_brackets_wl(
25
  m: ChatMemberUpdated,
@@ -33,7 +33,6 @@ async def escape_mentions_using_curly_brackets_wl(
33
  else:
34
  user = m.old_chat_member.user if m.old_chat_member else m.from_user
35
  if teks:
36
- chat_type = await chattype(m)
37
  teks = teks.format(
38
  first=escape(user.first_name),
39
  last=escape(user.last_name or user.first_name),
@@ -52,7 +51,7 @@ async def escape_mentions_using_curly_brackets_wl(
52
  ),
53
  mention=await (mention_html(escape(user.first_name), user.id)),
54
  chatname=escape(m.chat.title)
55
- if chat_type != "private"
56
  else escape(user.first_name),
57
  id=user.id,
58
  )
 
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
 
19
  # Initialize
20
  gdb = GBan()
21
 
22
+ ChatType = enums.ChatType
23
 
24
  async def escape_mentions_using_curly_brackets_wl(
25
  m: ChatMemberUpdated,
 
33
  else:
34
  user = m.old_chat_member.user if m.old_chat_member else m.from_user
35
  if teks:
 
36
  teks = teks.format(
37
  first=escape(user.first_name),
38
  last=escape(user.last_name or user.first_name),
 
51
  ),
52
  mention=await (mention_html(escape(user.first_name), user.id)),
53
  chatname=escape(m.chat.title)
54
+ if m.chat.type != ChatType.PRIVATE
55
  else escape(user.first_name),
56
  id=user.id,
57
  )
Powers/plugins/info.py CHANGED
@@ -5,7 +5,7 @@ from datetime import datetime
5
  from traceback import format_exc
6
  from Powers.bot_class import Gojo
7
  from pyrogram.types import Message
8
- from Powers.utils.chat_type import c_type
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
@@ -146,7 +146,21 @@ async def chat_info(c: Gojo, chat, already=False):
146
  username = chat.username
147
  total_bot, total_admin, total_bot_admin, total_banned = await count(c, chat.id)
148
  title = chat.title
149
- type_ = await c_type(c, chat.id)
 
 
 
 
 
 
 
 
 
 
 
 
 
 
150
  is_scam = chat.is_scam
151
  is_fake = chat.is_fake
152
  description = chat.description
@@ -155,8 +169,7 @@ async def chat_info(c: Gojo, chat, already=False):
155
  dc_id = chat.dc_id
156
  photo_id = chat.photo.big_file_id if chat.photo else None
157
  can_save = chat.has_protected_content
158
- linked_chat = chat.linked_chat.username
159
- linked_id = chat.linked_chat.id
160
 
161
  caption = f"""
162
  🔰 <b>CHAT INFO</b> 🔰
@@ -176,7 +189,7 @@ async def chat_info(c: Gojo, chat, already=False):
176
  <b>👨🏿‍💻 Description</b>: <code>{description}</code>
177
  <b>👪 Total members</b>: {members}
178
  <b>🚫 Has Protected Content</b>: {can_save}
179
- <b>🔗 Linked Chat</b>: @{linked_chat if linked_chat else linked_id}
180
 
181
  """
182
 
 
5
  from traceback import format_exc
6
  from Powers.bot_class import Gojo
7
  from pyrogram.types import Message
8
+ from pyrogram.enums import ChatType
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
 
146
  username = chat.username
147
  total_bot, total_admin, total_bot_admin, total_banned = await count(c, chat.id)
148
  title = chat.title
149
+ if chat.type == ChatType.CHANNEL:
150
+ type_ = "channel"
151
+
152
+ if chat.type == ChatType.GROUP:
153
+ type_ = "group"
154
+
155
+ if chat.type == ChatType.SUPERGROUP:
156
+ type_ = "supergroup"
157
+
158
+ if chat.type == ChatType.PRIVATE:
159
+ type_ = "private"
160
+
161
+ if chat.type == ChatType.BOT:
162
+ type_ = "bot"
163
+
164
  is_scam = chat.is_scam
165
  is_fake = chat.is_fake
166
  description = chat.description
 
169
  dc_id = chat.dc_id
170
  photo_id = chat.photo.big_file_id if chat.photo else None
171
  can_save = chat.has_protected_content
172
+ linked_chat = chat.linked_chat
 
173
 
174
  caption = f"""
175
  🔰 <b>CHAT INFO</b> 🔰
 
189
  <b>👨🏿‍💻 Description</b>: <code>{description}</code>
190
  <b>👪 Total members</b>: {members}
191
  <b>🚫 Has Protected Content</b>: {can_save}
192
+ <b>🔗 Linked Chat</b>: @{linked_chat.id if linked_chat else "Noe Linked"}
193
 
194
  """
195
 
Powers/plugins/purge.py CHANGED
@@ -2,15 +2,15 @@ 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 Powers.utils.chat_type 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)
11
  async def purge(c: Gojo, m: Message):
12
- chat_type = await chattype(m)
13
- if chat_type != "supergroup":
14
  await m.reply_text(text="Cannot purge messages in a basic group")
15
  return
16
 
@@ -56,8 +56,8 @@ async def purge(c: Gojo, m: Message):
56
 
57
  @Gojo.on_message(command("spurge") & admin_filter)
58
  async def spurge(c: Gojo, m: Message):
59
- chat_type = await chattype(m)
60
- if chat_type != "supergroup":
61
  await m.reply_text(text="Cannot purge messages in a basic group")
62
  return
63
 
@@ -100,8 +100,8 @@ async def spurge(c: Gojo, m: Message):
100
  group=9,
101
  )
102
  async def del_msg(c: Gojo, m: Message):
103
- chat_type = await chattype(m)
104
- if chat_type != "supergroup":
105
  return
106
 
107
  if m.reply_to_message:
 
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)
11
  async def purge(c: Gojo, m: Message):
12
+
13
+ if m.chat.type != ChatType.SUPERGROUP:
14
  await m.reply_text(text="Cannot purge messages in a basic group")
15
  return
16
 
 
56
 
57
  @Gojo.on_message(command("spurge") & admin_filter)
58
  async def spurge(c: Gojo, m: Message):
59
+
60
+ if m.chat.type != ChatType.SUPERGROUP:
61
  await m.reply_text(text="Cannot purge messages in a basic group")
62
  return
63
 
 
100
  group=9,
101
  )
102
  async def del_msg(c: Gojo, m: Message):
103
+
104
+ if m.chat.type != ChatType.SUPERGROUP:
105
  return
106
 
107
  if m.reply_to_message:
Powers/plugins/report.py CHANGED
@@ -4,11 +4,10 @@ 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.chat_type import chattype
8
  from Powers.utils.parser import mention_html
9
  from pyrogram.types import Message, CallbackQuery
10
  from Powers.database.reporting_db import Reporting
11
- from pyrogram.enums import ChatMembersFilter as cmf
12
  from Powers.utils.custom_filters import command, admin_filter
13
 
14
 
@@ -19,8 +18,7 @@ async def report_setting(_, m: Message):
19
  args = m.text.split()
20
  db = Reporting(m.chat.id)
21
 
22
- chat_type = await chattype(m)
23
- if chat_type == "private":
24
  if len(args) >= 2:
25
  option = args[1].lower()
26
  if option in ("yes", "on", "true"):
@@ -64,8 +62,8 @@ async def report_setting(_, m: Message):
64
 
65
  @Gojo.on_message(command("report") & filters.group)
66
  async def report_watcher(c: Gojo, m: Message):
67
- chat_type = await chattype(m)
68
- if chat_type != "supergroup":
69
  return
70
 
71
  if not m.from_user:
 
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 pyrogram.enums import ChatMembersFilter as cmf, ChatType
11
  from Powers.utils.custom_filters import command, admin_filter
12
 
13
 
 
18
  args = m.text.split()
19
  db = Reporting(m.chat.id)
20
 
21
+ if m.chat.type == ChatType.PRIVATE:
 
22
  if len(args) >= 2:
23
  option = args[1].lower()
24
  if option in ("yes", "on", "true"):
 
62
 
63
  @Gojo.on_message(command("report") & filters.group)
64
  async def report_watcher(c: Gojo, m: Message):
65
+
66
+ if m.chat.type != ChatType.SUPERGROUP:
67
  return
68
 
69
  if not m.from_user:
Powers/plugins/start.py CHANGED
@@ -5,10 +5,9 @@ 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.chat_type import chattype
9
  from Powers.utils.custom_filters import command
10
  from pyrogram.types import Message, CallbackQuery
11
- from pyrogram.enums import ChatMemberStatus as CMS
12
  from pyrogram.errors import UserIsBlocked, QueryIdInvalid, MessageNotModified
13
  from Powers.utils.start_utils import (
14
  gen_cmds_kb, gen_start_kb, get_help_msg, get_private_note,
@@ -59,8 +58,8 @@ async def close_admin_callback(_, q: CallbackQuery):
59
  command("start") & (filters.group | filters.private),
60
  )
61
  async def start(c: Gojo, m: Message):
62
- chat_type = await chattype(m)
63
- if chat_type == "private":
64
  if len(m.text.split()) > 1:
65
  help_option = (m.text.split(None, 1)[1]).lower()
66
 
@@ -188,8 +187,8 @@ async def help_menu(_, m: Message):
188
  LOGGER.info(
189
  f"{m.from_user.id} fetched help for '{help_option}' text in {m.chat.id}",
190
  )
191
- chat_type = await chattype(m)
192
- if chat_type == "private":
193
  if len(help_msg) >= 1026:
194
  await m.reply_text(
195
  help_msg, parse_mode=enums.ParseMode.MARKDOWN, quote=True
@@ -219,8 +218,8 @@ async def help_menu(_, m: Message):
219
  ),
220
  )
221
  else:
222
- chat_type = await chattype(m)
223
- if chat_type == "private":
224
  keyboard = ikb(
225
  [
226
  *(await gen_cmds_kb(m)),
 
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 ChatMemberStatus as CMS, ChatType
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,
 
58
  command("start") & (filters.group | filters.private),
59
  )
60
  async def start(c: Gojo, m: Message):
61
+
62
+ if m.chat.type == ChatType.PRIVATE:
63
  if len(m.text.split()) > 1:
64
  help_option = (m.text.split(None, 1)[1]).lower()
65
 
 
187
  LOGGER.info(
188
  f"{m.from_user.id} fetched help for '{help_option}' text in {m.chat.id}",
189
  )
190
+
191
+ if m.chat.type == ChatType.PRIVATE:
192
  if len(help_msg) >= 1026:
193
  await m.reply_text(
194
  help_msg, parse_mode=enums.ParseMode.MARKDOWN, quote=True
 
218
  ),
219
  )
220
  else:
221
+
222
+ if m.chat.type == ChatType.PRIVATE:
223
  keyboard = ikb(
224
  [
225
  *(await gen_cmds_kb(m)),
Powers/plugins/utils.py CHANGED
@@ -11,6 +11,7 @@ from pyrogram import enums, filters
11
  from Powers.utils.http_helper import *
12
  from Powers.database.users_db import Users
13
  from pyrogram.errors import MessageTooLong
 
14
  from Powers.utils.custom_filters import command
15
  from Powers.utils.clean_file import remove_markdown_and_html
16
  from wikipedia.exceptions import PageError, DisambiguationError
@@ -118,12 +119,12 @@ async def get_lyrics(_, m: Message):
118
  )
119
  async def id_info(c: Gojo, m: Message):
120
 
121
- chat_type = await chattype(m)
122
- if chat_type == "supergroup" and not m.reply_to_message:
123
  await m.reply_text(text=f"This Group's ID is <code>{m.chat.id}</code>")
124
  return
125
 
126
- if chat_type == "private" and not m.reply_to_message:
127
  await m.reply_text(text=f"Your ID is <code>{m.chat.id}</code>.")
128
  return
129
 
@@ -155,7 +156,7 @@ async def id_info(c: Gojo, m: Message):
155
  f"{(await mention_html(user.first_name, user.id))}'s ID is <code>{user.id}</code>.",
156
  parse_mode=enums.ParseMode.HTML,
157
  )
158
- elif chat_type == "private":
159
  await m.reply_text(text=f"Your ID is <code>{m.chat.id}</code>.")
160
  else:
161
  await m.reply_text(text=f"This Group's ID is <code>{m.chat.id}</code>")
 
11
  from Powers.utils.http_helper import *
12
  from Powers.database.users_db import Users
13
  from pyrogram.errors import MessageTooLong
14
+ from pyrogram.enums import ChatType
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
 
119
  )
120
  async def id_info(c: Gojo, m: Message):
121
 
122
+
123
+ if m.chat.type == ChatType.SUPERGROUP and not m.reply_to_message:
124
  await m.reply_text(text=f"This Group's ID is <code>{m.chat.id}</code>")
125
  return
126
 
127
+ if m.chat.type == ChatType.PRIVATE and not m.reply_to_message:
128
  await m.reply_text(text=f"Your ID is <code>{m.chat.id}</code>.")
129
  return
130
 
 
156
  f"{(await mention_html(user.first_name, user.id))}'s ID is <code>{user.id}</code>.",
157
  parse_mode=enums.ParseMode.HTML,
158
  )
159
+ elif m.chat.type == ChatType.PRIVATE:
160
  await m.reply_text(text=f"Your ID is <code>{m.chat.id}</code>.")
161
  else:
162
  await m.reply_text(text=f"This Group's ID is <code>{m.chat.id}</code>")
Powers/utils/chat_type.py DELETED
@@ -1,41 +0,0 @@
1
- from Powers.bot_class import Gojo
2
- from pyrogram.types import Message
3
- from pyrogram.enums import ChatType
4
-
5
-
6
- async def chattype(m: Message):
7
- # To get chat type with message
8
-
9
- if m.chat.type == ChatType.CHANNEL:
10
- ct = "channel"
11
-
12
- if m.chat.type == ChatType.PRIVATE:
13
- ct = "private"
14
-
15
- if m.chat.type == ChatType.GROUP:
16
- ct = "group"
17
-
18
- if m.chat.type == ChatType.SUPERGROUP:
19
- ct = "supergroup"
20
-
21
- return ct
22
-
23
-
24
- async def c_type(c: Gojo, chat_id):
25
- # To get chat type with chat id
26
-
27
- ch = await c.get_chat(chat_id)
28
-
29
- if ch.type == ChatType.CHANNEL:
30
- ct = "channel"
31
-
32
- if ch.type == ChatType.GROUP:
33
- ct = "group"
34
-
35
- if ch.type == ChatType.SUPERGROUP:
36
- ct = "supergroup"
37
-
38
- if ch.type == ChatType.PRIVATE:
39
- ct = "private"
40
-
41
- return ct
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Powers/utils/custom_filters.py CHANGED
@@ -1,14 +1,12 @@
1
  from shlex import split
2
- from pyrogram import enums
3
  from Powers.vars import Config
4
  from typing import List, Union
5
  from pyrogram.filters import create
6
- from Powers.utils.chat_type import chattype
7
  from re import escape, compile as compile_re
8
  from Powers.database.disable_db import Disabling
9
  from pyrogram.types import Message, CallbackQuery
10
  from Powers import OWNER_ID, DEV_USERS, SUDO_USERS
11
- from pyrogram.enums import ChatMemberStatus as CMS
12
  from pyrogram.errors import RPCError, UserNotParticipant
13
  from Powers.utils.caching import ADMIN_CACHE, admin_cache_reload
14
 
@@ -32,8 +30,7 @@ def command(
32
  if date:
33
  return # reaction
34
 
35
- chattype = bool(m.chat and m.chat.type in {enums.ChatType.CHANNEL})
36
- if chattype:
37
  return
38
 
39
  if m and not m.from_user:
@@ -69,7 +66,7 @@ def command(
69
  m.command = [matches.group(1)]
70
  if matches.group(1) not in flt.commands:
71
  return False
72
- if bool(m.chat and m.chat.type in {enums.ChatType.SUPERGROUP}):
73
  try:
74
  user_status = (await m.chat.get_member(m.from_user.id)).status
75
  except UserNotParticipant:
@@ -116,8 +113,7 @@ async def bot_admin_check_func(_, __, m: Message or CallbackQuery):
116
  if isinstance(m, CallbackQuery):
117
  m = m.message
118
 
119
- chat_type = await chattype(m)
120
- if chat_type != "supergroup":
121
  return False
122
 
123
  # Telegram and GroupAnonyamousBot
@@ -150,8 +146,8 @@ async def admin_check_func(_, __, m: Message or CallbackQuery):
150
  if isinstance(m, CallbackQuery):
151
  m = m.message
152
 
153
- chat_type = await chattype(m)
154
- if chat_type != "supergroup":
155
  return False
156
 
157
  # Telegram and GroupAnonyamousBot
@@ -186,7 +182,7 @@ async def owner_check_func(_, __, m: Message or CallbackQuery):
186
  if isinstance(m, CallbackQuery):
187
  m = m.message
188
 
189
- if bool(m.chat and m.chat.type in {enums.ChatType.SUPERGROUP}):
190
  return False
191
 
192
  # Bypass the bot devs, sudos and owner
@@ -213,8 +209,8 @@ async def restrict_check_func(_, __, m: Message or CallbackQuery):
213
  if isinstance(m, CallbackQuery):
214
  m = m.message
215
 
216
- chat_type = await chattype(m)
217
- if chat_type != "supergroup":
218
  return False
219
 
220
  # Bypass the bot devs, sudos and owner
@@ -237,7 +233,7 @@ async def promote_check_func(_, __, m):
237
  if isinstance(m, CallbackQuery):
238
  m = m.message
239
 
240
- if bool(m.chat and m.chat.type in {enums.ChatType.SUPERGROUP}):
241
  return False
242
 
243
  # Bypass the bot devs, sudos and owner
@@ -260,8 +256,8 @@ async def changeinfo_check_func(_, __, m):
260
  if isinstance(m, CallbackQuery):
261
  m = m.message
262
 
263
- chat_type = await chattype(m)
264
- if chat_type != "supergroup":
265
  await m.reply_text("This command is made to be used in groups not in pm!")
266
  return False
267
 
@@ -289,7 +285,7 @@ async def can_pin_message_func(_, __, m):
289
  if isinstance(m, CallbackQuery):
290
  m = m.message
291
 
292
- if not bool(m.chat and m.chat.type in {enums.ChatType.SUPERGROUP}):
293
  await m.reply_text("This command is made to be used in groups not in pm!")
294
  return False
295
 
 
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.enums import ChatMemberStatus as CMS, ChatType
10
  from pyrogram.errors import RPCError, UserNotParticipant
11
  from Powers.utils.caching import ADMIN_CACHE, admin_cache_reload
12
 
 
30
  if date:
31
  return # reaction
32
 
33
+ if m.chat and m.chat.type == ChatType.CHANNEL:
 
34
  return
35
 
36
  if m and not m.from_user:
 
66
  m.command = [matches.group(1)]
67
  if matches.group(1) not in flt.commands:
68
  return False
69
+ if bool(m.chat and m.chat.type in {ChatType.SUPERGROUP}):
70
  try:
71
  user_status = (await m.chat.get_member(m.from_user.id)).status
72
  except UserNotParticipant:
 
113
  if isinstance(m, CallbackQuery):
114
  m = m.message
115
 
116
+ if m.chat.type != ChatType.SUPERGROUP:
 
117
  return False
118
 
119
  # Telegram and GroupAnonyamousBot
 
146
  if isinstance(m, CallbackQuery):
147
  m = m.message
148
 
149
+
150
+ if m.chat.type != ChatType.SUPERGROUP:
151
  return False
152
 
153
  # Telegram and GroupAnonyamousBot
 
182
  if isinstance(m, CallbackQuery):
183
  m = m.message
184
 
185
+ if bool(m.chat and m.chat.type in {ChatType.SUPERGROUP}):
186
  return False
187
 
188
  # Bypass the bot devs, sudos and owner
 
209
  if isinstance(m, CallbackQuery):
210
  m = m.message
211
 
212
+
213
+ if m.chat.type != ChatType.SUPERGROUP:
214
  return False
215
 
216
  # Bypass the bot devs, sudos and owner
 
233
  if isinstance(m, CallbackQuery):
234
  m = m.message
235
 
236
+ if bool(m.chat and m.chat.type in {ChatType.SUPERGROUP}):
237
  return False
238
 
239
  # Bypass the bot devs, sudos and owner
 
256
  if isinstance(m, CallbackQuery):
257
  m = m.message
258
 
259
+
260
+ if m.chat.type != ChatType.SUPERGROUP:
261
  await m.reply_text("This command is made to be used in groups not in pm!")
262
  return False
263
 
 
285
  if isinstance(m, CallbackQuery):
286
  m = m.message
287
 
288
+ if not bool(m.chat and m.chat.type in {ChatType.SUPERGROUP}):
289
  await m.reply_text("This command is made to be used in groups not in pm!")
290
  return False
291
 
Powers/utils/string.py CHANGED
@@ -2,7 +2,7 @@ from time import time
2
  from html import escape
3
  from typing import List
4
  from re import compile as compile_re
5
- from Powers.utils.chat_type import chattype
6
  from Powers.utils.parser import escape_markdown
7
  from pyrogram.types import Message, InlineKeyboardButton
8
 
@@ -123,7 +123,6 @@ async def escape_mentions_using_curly_brackets(
123
  ) -> str:
124
  teks = await escape_invalid_curly_brackets(text, parse_words)
125
  if teks:
126
- chat_type = await chattype(m)
127
  teks = teks.format(
128
  first=escape(m.from_user.first_name),
129
  last=escape(m.from_user.last_name or m.from_user.first_name),
@@ -142,7 +141,7 @@ async def escape_mentions_using_curly_brackets(
142
  else [escape(m.from_user.first_name)],
143
  ),
144
  chatname=escape(m.chat.title)
145
- if chat_type != "supergroup"
146
  else escape(m.from_user.first_name),
147
  id=m.from_user.id,
148
  )
 
2
  from html import escape
3
  from typing import List
4
  from re import compile as compile_re
5
+ from pyrogram.enums import ChatType
6
  from Powers.utils.parser import escape_markdown
7
  from pyrogram.types import Message, InlineKeyboardButton
8
 
 
123
  ) -> str:
124
  teks = await escape_invalid_curly_brackets(text, parse_words)
125
  if teks:
 
126
  teks = teks.format(
127
  first=escape(m.from_user.first_name),
128
  last=escape(m.from_user.last_name or m.from_user.first_name),
 
141
  else [escape(m.from_user.first_name)],
142
  ),
143
  chatname=escape(m.chat.title)
144
+ if m.chat.type != ChatType.SUPERGROUP
145
  else escape(m.from_user.first_name),
146
  id=m.from_user.id,
147
  )