[Sweep Rules] Fix Inconsistent Formatting in modules/admintool.py (#25)
* feat: Updated modules/admintool.py * feat: Updated modules/admintool.py * feat: Updated modules/admintool.py * feat: Updated modules/admintool.py --------- Co-authored-by: sweep-ai[bot] <128439645+sweep-ai[bot]@users.noreply.github.com>
This commit is contained in:
@@ -52,10 +52,8 @@ def update_cache():
|
||||
@Client.on_message(filters.group & ~filters.channel & ~filters.me)
|
||||
async def admintool_handler(_, message: Message):
|
||||
if message.sender_chat:
|
||||
if (
|
||||
message.sender_chat.type == "supergroup"
|
||||
or message.sender_chat.id == db_cache.get(f"linked{message.chat.id}", 0)
|
||||
):
|
||||
if (message.sender_chat.type == "supergroup" or
|
||||
message.sender_chat.id == db_cache.get(f"linked{message.chat.id}", 0)):
|
||||
raise ContinuePropagation
|
||||
|
||||
if message.sender_chat and db_cache.get(f"antich{message.chat.id}", False):
|
||||
@@ -64,12 +62,8 @@ async def admintool_handler(_, message: Message):
|
||||
await message.chat.ban_member(message.sender_chat.id)
|
||||
|
||||
tmuted_users = db_cache.get(f"c{message.chat.id}", [])
|
||||
if (
|
||||
message.from_user
|
||||
and message.from_user.id in tmuted_users
|
||||
or message.sender_chat
|
||||
and message.sender_chat.id in tmuted_users
|
||||
):
|
||||
if ((message.from_user and message.from_user.id in tmuted_users) or
|
||||
(message.sender_chat and message.sender_chat.id in tmuted_users)):
|
||||
with suppress(RPCError):
|
||||
await message.delete()
|
||||
|
||||
@@ -94,13 +88,8 @@ async def admintool_handler(_, message: Message):
|
||||
|
||||
async def check_username_or_id(data: Union[str, int]) -> str:
|
||||
data = str(data)
|
||||
if (
|
||||
not data.isdigit()
|
||||
and data[0] == "-"
|
||||
and not data[1:].isdigit()
|
||||
or not data.isdigit()
|
||||
and data[0] != "-"
|
||||
):
|
||||
if ((not data.isdigit() and data[0] == "-" and not data[1:].isdigit()) or
|
||||
(not data.isdigit() and data[0] != "-")):
|
||||
return "channel"
|
||||
else:
|
||||
peer_id = int(data)
|
||||
@@ -138,8 +127,80 @@ async def ban_command(client: Client, message: Message):
|
||||
await client.ban_chat_member(message.chat.id, user_for_ban)
|
||||
channel = await client.resolve_peer(message.chat.id)
|
||||
user_id = await client.resolve_peer(user_for_ban)
|
||||
if "report_spam" in cause.lower().split():
|
||||
await client.send(
|
||||
if "report_spam" in cause.lower().split():
|
||||
await client.send(functions.channels.ReportSpam(
|
||||
channel=channel,
|
||||
participant=user_id
|
||||
))
|
||||
# elif not message.reply_to_message and message.chat.type not in ["private", "channel"]:
|
||||
if len(cause.split()) > 1:
|
||||
try:
|
||||
if await check_username_or_id(cause.split(" ")[1]) == "channel":
|
||||
user_to_ban = await client.get_chat(cause.split(" ")[1])
|
||||
elif await check_username_or_id(cause.split(" ")[1]) == "user":
|
||||
user_to_ban = await client.get_users(cause.split(" ")[1])
|
||||
else:
|
||||
await message.edit("<b>Invalid user type</b>", parse_mode=enums.ParseMode.HTML)
|
||||
return
|
||||
|
||||
name = (
|
||||
user_to_ban.first_name
|
||||
if getattr(user_to_ban, "first_name", None)
|
||||
else user_to_ban.title
|
||||
)
|
||||
|
||||
try:
|
||||
channel = await client.resolve_peer(message.chat.id)
|
||||
user_id = await client.resolve_peer(user_to_ban.id)
|
||||
if ("report_spam" in cause.lower().split() and message.reply_to_message):
|
||||
await client.send(functions.channels.ReportSpam(
|
||||
channel=channel,
|
||||
participant=user_id,
|
||||
id=[message.reply_to_message.message_id],
|
||||
))
|
||||
if "delete_history" in cause.lower().split():
|
||||
await client.send(functions.channels.DeleteParticipantHistory(
|
||||
channel=channel, participant=user_id
|
||||
))
|
||||
|
||||
text_c = "".join(
|
||||
f" {_}"
|
||||
for _ in cause.split()
|
||||
if _.lower() not in ["delete_history", "report_spam"]
|
||||
)
|
||||
|
||||
await client.ban_chat_member(message.chat.id, user_to_ban.id)
|
||||
await message.edit(
|
||||
f"<b>{name}</b> <code>banned!</code>"
|
||||
+ f"\n{'<b>Cause:</b> <i>' + text_c.split(' ', maxsplit=2)[2] + '</i>' if len(text_c.split()) > 2 else ''}",
|
||||
parse_mode=enums.ParseMode.HTML,
|
||||
)
|
||||
except UserAdminInvalid:
|
||||
await message.edit("<b>No rights</b>", parse_mode=enums.ParseMode.HTML)
|
||||
except ChatAdminRequired:
|
||||
await message.edit("<b>No rights</b>", parse_mode=enums.ParseMode.HTML)
|
||||
except Exception as e:
|
||||
await message.edit(format_exc(e), parse_mode=enums.ParseMode.HTML)
|
||||
except PeerIdInvalid:
|
||||
await message.edit("<b>User is not found</b>", parse_mode=enums.ParseMode.HTML)
|
||||
except UsernameInvalid:
|
||||
await message.edit("<b>User is not found</b>", parse_mode=enums.ParseMode.HTML)
|
||||
except IndexError:
|
||||
await message.edit("<b>User is not found</b>", parse_mode=enums.ParseMode.HTML)
|
||||
else:
|
||||
await message.edit("<b>user_id or username</b>", parse_mode=enums.ParseMode.HTML)
|
||||
else:
|
||||
await message.edit("<b>Unsupported</b>", parse_mode=enums.ParseMode.HTML)
|
||||
f"<b>{name}</b> <code>banned!</code>"
|
||||
+ f"\n{'<b>Cause:</b> <i>' + text_c.split(maxsplit=1)[1] + '</i>' if len(text_c.split()) > 1 else ''}",
|
||||
parse_mode=enums.ParseMode.HTML,
|
||||
)
|
||||
except UserAdminInvalid:
|
||||
await message.edit("<b>No rights</b>", parse_mode=enums.ParseMode.HTML)
|
||||
except ChatAdminRequired:
|
||||
await message.edit("<b>No rights</b>", parse_mode=enums.ParseMode.HTML)
|
||||
except Exception as e:
|
||||
await message.edit(format_exc(e), parse_mode=enums.ParseMode.HTML)
|
||||
functions.channels.ReportSpam(
|
||||
channel=channel,
|
||||
participant=user_id,
|
||||
@@ -194,11 +255,11 @@ async def ban_command(client: Client, message: Message):
|
||||
try:
|
||||
channel = await client.resolve_peer(message.chat.id)
|
||||
user_id = await client.resolve_peer(user_to_ban.id)
|
||||
if (
|
||||
"report_spam" in cause.lower().split()
|
||||
and message.reply_to_message
|
||||
):
|
||||
await client.send(
|
||||
if (
|
||||
"report_spam" in cause.lower().split()
|
||||
and message.reply_to_message
|
||||
):
|
||||
await client.send(
|
||||
functions.channels.ReportSpam(
|
||||
channel=channel,
|
||||
participant=user_id,
|
||||
@@ -264,7 +325,7 @@ async def unban_command(client: Client, message: Message):
|
||||
await message.edit(
|
||||
f"<b>{name}</b> <code>unbanned!</code>"
|
||||
+ f"\n{'<b>Cause:</b> <i>' + cause.split(maxsplit=1)[1] + '</i>' if len(cause.split()) > 1 else ''}",
|
||||
parse_mode=enums.ParseMode.HTML,
|
||||
parse_mode=enums.ParseMode.HTML
|
||||
)
|
||||
except UserAdminInvalid:
|
||||
await message.edit("<b>No rights</b>", parse_mode=enums.ParseMode.HTML)
|
||||
@@ -342,24 +403,23 @@ async def kick_command(client: Client, message: Message):
|
||||
await client.ban_chat_member(
|
||||
message.chat.id,
|
||||
message.reply_to_message.from_user.id,
|
||||
int(time() + 60),
|
||||
int(time() + 60)
|
||||
)
|
||||
channel = await client.resolve_peer(message.chat.id)
|
||||
user_id = await client.resolve_peer(
|
||||
message.reply_to_message.from_user.id
|
||||
)
|
||||
user_id = await client.resolve_peer(message.reply_to_message.from_user.id)
|
||||
if "report_spam" in cause.lower().split() and message.reply_to_message:
|
||||
await client.send(
|
||||
functions.channels.ReportSpam(
|
||||
channel=channel,
|
||||
participant=user_id,
|
||||
id=[message.reply_to_message.message_id],
|
||||
id=[message.reply_to_message.message_id]
|
||||
)
|
||||
)
|
||||
if "delete_history" in cause.lower().split():
|
||||
await client.send(
|
||||
functions.channels.DeleteParticipantHistory(
|
||||
channel=channel, participant=user_id
|
||||
channel=channel,
|
||||
participant=user_id
|
||||
)
|
||||
)
|
||||
text_c = "".join(
|
||||
@@ -380,6 +440,8 @@ async def kick_command(client: Client, message: Message):
|
||||
await message.edit(format_exc(e))
|
||||
else:
|
||||
await message.edit("<b>Reply on user msg</b>")
|
||||
else:
|
||||
await message.edit("<b>Reply on user msg</b>")
|
||||
elif not message.reply_to_message and message.chat.type not in [
|
||||
"private",
|
||||
"channel",
|
||||
@@ -444,7 +506,7 @@ async def kickdel_cmd(_, message: Message):
|
||||
await message.edit("<b>Kicking deleted accounts...</b>")
|
||||
# noinspection PyTypeChecker
|
||||
values = [
|
||||
await message.chat.ban_member(user.user.id, int(time()) + 31)
|
||||
await message.chat.ban_member(user.user.id, int(time() + 31))
|
||||
for member in await message.chat.get_members()
|
||||
if member.user.is_deleted
|
||||
]
|
||||
@@ -634,7 +696,7 @@ async def unmute_command(client, message):
|
||||
await client.restrict_chat_member(
|
||||
message.chat.id,
|
||||
message.reply_to_message.from_user.id,
|
||||
u_p,
|
||||
u_p
|
||||
int(time() + 30),
|
||||
)
|
||||
await message.edit(
|
||||
@@ -845,7 +907,7 @@ async def demote_command(client: Client, message: Message):
|
||||
message.chat.id,
|
||||
message.reply_to_message.from_user.id,
|
||||
is_anonymous=False,
|
||||
can_manage_chat=False,
|
||||
can_manage_chat=False
|
||||
can_change_info=False,
|
||||
can_post_messages=False,
|
||||
can_edit_messages=False,
|
||||
@@ -923,7 +985,7 @@ async def promote_command(client: Client, message: Message):
|
||||
can_delete_messages=True,
|
||||
can_restrict_members=True,
|
||||
can_invite_users=True,
|
||||
can_pin_messages=True,
|
||||
can_pin_messages=True
|
||||
)
|
||||
if len(cause.split()) > 1:
|
||||
await client.set_administrator_title(
|
||||
@@ -1002,7 +1064,7 @@ async def anti_channels(client: Client, message: Message):
|
||||
if message.chat.type != "supergroup":
|
||||
await message.edit(
|
||||
"<b>Not supported in non-supergroup chats</b>",
|
||||
parse_mode=enums.ParseMode.HTML,
|
||||
parse_mode=enums.ParseMode.HTML
|
||||
)
|
||||
return
|
||||
|
||||
|
||||
Reference in New Issue
Block a user