aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGravatar Leon Sandøy <[email protected]>2018-07-29 11:41:10 +0200
committerGravatar Leon Sandøy <[email protected]>2018-07-29 11:41:10 +0200
commit89db231108d309c9ad2c2ccf476e662d807c7c0e (patch)
tree7588f1de4edabfd75b61a14b89a5a1957c0b7132
parentFixed merge conflicts (diff)
Addressing all gdude comments
-rw-r--r--bot/cogs/clean.py36
-rw-r--r--bot/cogs/defcon.py16
-rw-r--r--bot/cogs/token_remover.py6
-rw-r--r--bot/cogs/verification.py4
4 files changed, 36 insertions, 26 deletions
diff --git a/bot/cogs/clean.py b/bot/cogs/clean.py
index efedc2dce..5644913b5 100644
--- a/bot/cogs/clean.py
+++ b/bot/cogs/clean.py
@@ -18,6 +18,19 @@ log = logging.getLogger(__name__)
class Clean:
+ """
+ A cog that allows messages to be deleted in
+ bulk, while applying various filters.
+
+ You can delete messages sent by a specific user,
+ messages sent by bots, all messages, or messages
+ that match a specific regular expression.
+
+ The deleted messages are saved and uploaded
+ to the database via an API endpoint, and a URL is
+ returned which can be used to view the messages
+ in the Discord dark theme style.
+ """
def __init__(self, bot: Bot):
self.bot = bot
@@ -127,7 +140,7 @@ class Clean:
embed = Embed(
color=Colour(Colours.soft_red),
title=random.choice(NEGATIVE_REPLIES),
- description="Multiple simultaneous cleaning processes is not allowed."
+ description="Please wait for the currently ongoing clean operation to complete."
)
await ctx.send(embed=embed)
return
@@ -163,7 +176,7 @@ class Clean:
# If the message passes predicate, let's save it.
if predicate is None or predicate(message):
author = f"{message.author.name}#{message.author.discriminator}"
- role = message.author.top_role.name
+ role_id = message.author.top_role.id
content = message.content
embeds = [embed.to_dict() for embed in message.embeds]
@@ -174,7 +187,7 @@ class Clean:
"content": content,
"author": author,
"user_id": str(message.author.id),
- "role": role.lower(),
+ "role_id": str(role_id),
"timestamp": message.created_at.strftime("%D %H:%M"),
"attachments": attachments,
"embeds": embeds,
@@ -205,23 +218,20 @@ class Clean:
return
# Build the embed and send it
+ print(upload_log)
message = (
f"**{len(message_ids)}** messages deleted in <#{ctx.channel.id}> by **{ctx.author.name}**\n\n"
f"A log of the deleted messages can be found [here]({upload_log})."
)
- embed = Embed(
- color=Colour(Colours.soft_red),
- description=message
- )
-
- embed.set_author(
- name=f"Bulk message delete",
- icon_url=Icons.message_bulk_delete
+ await self.mod_log.send_log_message(
+ icon_url=Icons.message_bulk_delete,
+ colour=Colour(Colours.soft_red),
+ title="Bulk message delete",
+ text=message,
+ channel_id=Channels.modlog,
)
- await self.bot.get_channel(Channels.modlog).send(embed=embed)
-
@group(invoke_without_command=True, name="clean", hidden=True)
@with_role(Roles.moderator, Roles.admin, Roles.owner)
async def clean_group(self, ctx: Context):
diff --git a/bot/cogs/defcon.py b/bot/cogs/defcon.py
index 8ca59b058..beb05ba46 100644
--- a/bot/cogs/defcon.py
+++ b/bot/cogs/defcon.py
@@ -36,7 +36,7 @@ class Defcon:
self.headers = {"X-API-KEY": Keys.site_api}
@property
- def modlog(self) -> ModLog:
+ def mod_log(self) -> ModLog:
return self.bot.get_cog("ModLog")
async def on_ready(self):
@@ -92,7 +92,7 @@ class Defcon:
if not message_sent:
message = f"{message}\n\nUnable to send rejection message via DM; they probably have DMs disabled."
- await self.modlog.send_log_message(
+ await self.mod_log.send_log_message(
Icons.defcon_denied, COLOUR_RED, "Entry denied",
message, member.avatar_url_as(static_format="png")
)
@@ -133,7 +133,7 @@ class Defcon:
f"```py\n{e}\n```"
)
- await self.modlog.send_log_message(
+ await self.mod_log.send_log_message(
Icons.defcon_enabled, COLOUR_GREEN, "DEFCON enabled",
f"**Staffer:** {ctx.author.name}#{ctx.author.discriminator} (`{ctx.author.id}`)\n"
f"**Days:** {self.days.days}\n\n"
@@ -144,7 +144,7 @@ class Defcon:
else:
await ctx.send(f"{Emojis.defcon_enabled} DEFCON enabled.")
- await self.modlog.send_log_message(
+ await self.mod_log.send_log_message(
Icons.defcon_enabled, COLOUR_GREEN, "DEFCON enabled",
f"**Staffer:** {ctx.author.name}#{ctx.author.discriminator} (`{ctx.author.id}`)\n"
f"**Days:** {self.days.days}\n\n"
@@ -176,7 +176,7 @@ class Defcon:
f"```py\n{e}\n```"
)
- await self.modlog.send_log_message(
+ await self.mod_log.send_log_message(
Icons.defcon_disabled, COLOUR_RED, "DEFCON disabled",
f"**Staffer:** {ctx.author.name}#{ctx.author.discriminator} (`{ctx.author.id}`)\n"
"**There was a problem updating the site** - This setting may be reverted when the bot is "
@@ -186,7 +186,7 @@ class Defcon:
else:
await ctx.send(f"{Emojis.defcon_disabled} DEFCON disabled.")
- await self.modlog.send_log_message(
+ await self.mod_log.send_log_message(
Icons.defcon_disabled, COLOUR_RED, "DEFCON disabled",
f"**Staffer:** {ctx.author.name}#{ctx.author.discriminator} (`{ctx.author.id}`)"
)
@@ -233,7 +233,7 @@ class Defcon:
f"```py\n{e}\n```"
)
- await self.modlog.send_log_message(
+ await self.mod_log.send_log_message(
Icons.defcon_updated, Colour.blurple(), "DEFCON updated",
f"**Staffer:** {ctx.author.name}#{ctx.author.discriminator} (`{ctx.author.id}`)\n"
f"**Days:** {self.days.days}\n\n"
@@ -246,7 +246,7 @@ class Defcon:
f"{Emojis.defcon_updated} DEFCON days updated; accounts must be {days} days old to join to the server"
)
- await self.modlog.send_log_message(
+ await self.mod_log.send_log_message(
Icons.defcon_updated, Colour.blurple(), "DEFCON updated",
f"**Staffer:** {ctx.author.name}#{ctx.author.discriminator} (`{ctx.author.id}`)\n"
f"**Days:** {self.days.days}"
diff --git a/bot/cogs/token_remover.py b/bot/cogs/token_remover.py
index c8621118b..74bc0d9b2 100644
--- a/bot/cogs/token_remover.py
+++ b/bot/cogs/token_remover.py
@@ -40,10 +40,10 @@ class TokenRemover:
def __init__(self, bot: Bot):
self.bot = bot
- self.modlog = None
+ self.mod_log = None
async def on_ready(self):
- self.modlog = self.bot.get_channel(Channels.modlog)
+ self.mod_log = self.bot.get_channel(Channels.modlog)
async def on_message(self, msg: Message):
if msg.author.bot:
@@ -61,7 +61,7 @@ class TokenRemover:
if self.is_valid_user_id(user_id) and self.is_valid_timestamp(creation_timestamp):
await msg.delete()
await msg.channel.send(DELETION_MESSAGE_TEMPLATE.format(mention=msg.author.mention))
- await self.modlog.send(
+ await self.mod_log.send(
":key2::mute: censored a seemingly valid token sent by "
f"{msg.author} (`{msg.author.id}`) in {msg.channel.mention}, token was "
f"`{user_id}.{creation_timestamp}.{'x' * len(hmac)}`"
diff --git a/bot/cogs/verification.py b/bot/cogs/verification.py
index b0667fdd0..7f1c9e68a 100644
--- a/bot/cogs/verification.py
+++ b/bot/cogs/verification.py
@@ -37,7 +37,7 @@ class Verification:
self.bot = bot
@property
- def modlog(self) -> ModLog:
+ def mod_log(self) -> ModLog:
return self.bot.get_cog("ModLog")
async def on_message(self, message: Message):
@@ -90,7 +90,7 @@ class Verification:
log.trace(f"Deleting the message posted by {ctx.author}.")
try:
- self.modlog.ignore_message_deletion(ctx.message.id)
+ self.mod_log.ignore_message_deletion(ctx.message.id)
await ctx.message.delete()
except NotFound:
log.trace("No message found, it must have been deleted by another bot.")