Skip to content

Commit 1e913a3

Browse files
committed
funny admin cog improvements
modified: pyproject.toml modified: src/SideBot/cogs/admin.py new file: src/SideBot/cogs/mod.py
1 parent 741389e commit 1e913a3

File tree

3 files changed

+19
-5
lines changed

3 files changed

+19
-5
lines changed

pyproject.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,4 +30,4 @@ dev = [
3030
"pkgname" = ["py.typed"]
3131

3232
[tool.mypy]
33-
disallow_incomplete_defs = true
33+
disallow_incomplete_defs = true

src/SideBot/cogs/admin.py

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -81,11 +81,9 @@ def __init__(self, bot: Bot, channels_max: int = 4) -> None:
8181
@describe(count="Amount of messages to delete")
8282
@describe(member="The member to delete the messages from")
8383
@default_permissions(manage_messages=True)
84+
# ruff: noqa: C901, FBT001, FBT002
8485
async def clean(
85-
self,
86-
inter: Interaction,
87-
count: int,
88-
member: Member | None = None,
86+
self, inter: Interaction, count: int, member: Member | None = None, cross_channel: bool = False,
8987
) -> None:
9088
"""Clean `count` messages from optional `member` in the channel it's used."""
9189
if not isinstance(inter.channel, TextChannel):
@@ -94,6 +92,16 @@ async def clean(
9492
ephemeral=True,
9593
)
9694
await inter.response.defer(ephemeral=True)
95+
if cross_channel:
96+
del_messages = []
97+
for channel in inter.guild.text_channels:
98+
async for message in channel.history(limit=200):
99+
if len(del_messages) >= count:
100+
break
101+
if message.author == member:
102+
del_messages.append(message)
103+
await inter.guild.delete_messages(del_messages)
104+
return None
97105
if member:
98106
del_messages: list[Message] = []
99107
async for message in inter.channel.history(limit=200):

src/SideBot/cogs/mod.py

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
# ruff: noqa
2+
3+
# from .basecog import BaseCog
4+
5+
# class MessageLogger(BaseCog):
6+
# def __init__():

0 commit comments

Comments
 (0)