diff options
| author | 2018-07-24 11:51:54 +0100 | |
|---|---|---|
| committer | 2018-07-24 11:51:54 +0100 | |
| commit | d2f896167c5130b60d2d4b7c0ee3e2ef81912420 (patch) | |
| tree | 2a18b2e35d686b664354df8fb2e5fb9efc2756a5 | |
| parent | Add paste service back to config (diff) | |
[Modlog] Detect username/discrim changes; better output formatting
| -rw-r--r-- | bot/cogs/modlog.py | 45 |
1 files changed, 32 insertions, 13 deletions
diff --git a/bot/cogs/modlog.py b/bot/cogs/modlog.py index 377e92291..87cea2b5a 100644 --- a/bot/cogs/modlog.py +++ b/bot/cogs/modlog.py @@ -142,12 +142,12 @@ class ModLog: continue if key in CHANNEL_CHANGES_UNSUPPORTED: - changes.append(f"{key.title()} updated") + changes.append(f"**{key.title()}** updated") else: new = value["new_value"] old = value["old_value"] - changes.append(f"{key.title()}: `{old}` -> `{new}`") + changes.append(f"**{key.title()}:** `{old}` **->** `{new}`") done.append(key) @@ -162,7 +162,7 @@ class ModLog: if after.category: message = f"**{after.category}/#{after.name} (`{after.id}`)**\n{message}" else: - message = f"**#{after.name} (`{after.id}`)**\n{message}" + message = f"**#{after.name}** (`{after.id}`)\n{message}" await self.send_log_message( Icons.hash_blurple, Colour.blurple(), @@ -214,12 +214,12 @@ class ModLog: continue if key in ROLE_CHANGES_UNSUPPORTED: - changes.append(f"{key.title()} updated") + changes.append(f"**{key.title()}** updated") else: new = value["new_value"] old = value["old_value"] - changes.append(f"{key.title()}: `{old}` -> `{new}`") + changes.append(f"**{key.title()}:** `{old}` **->** `{new}`") done.append(key) @@ -231,7 +231,7 @@ class ModLog: for item in sorted(changes): message += f"{BULLET_POINT} {item}\n" - message = f"**{after.name} (`{after.id}`)**\n{message}" + message = f"**{after.name}** (`{after.id}`)\n{message}" await self.send_log_message( Icons.crown_blurple, Colour.blurple(), @@ -267,7 +267,7 @@ class ModLog: new = value["new_value"] old = value["old_value"] - changes.append(f"{key.title()}: `{old}` -> `{new}`") + changes.append(f"**{key.title()}:** `{old}` **->** `{new}`") done.append(key) @@ -279,7 +279,7 @@ class ModLog: for item in sorted(changes): message += f"{BULLET_POINT} {item}\n" - message = f"**{after.name} (`{after.id}`)**\n{message}" + message = f"**{after.name}** (`{after.id}`)\n{message}" await self.send_log_message( Icons.guild_update, Colour.blurple(), @@ -345,11 +345,20 @@ class ModLog: changes = [] done = [] - diff_values = diff.get("values_changed", {}) + diff_values = {} + + diff_values.update(diff.get("values_changed", {})) diff_values.update(diff.get("type_changes", {})) diff_values.update(diff.get("iterable_item_removed", {})) diff_values.update(diff.get("iterable_item_added", {})) + diff_user = DeepDiff(before._user, after._user) + + diff_values.update(diff_user.get("values_changed", {})) + diff_values.update(diff_user.get("type_changes", {})) + diff_values.update(diff_user.get("iterable_item_removed", {})) + diff_values.update(diff_user.get("iterable_item_added", {})) + for key, value in diff_values.items(): if not key: # Not sure why, but it happens continue @@ -371,20 +380,30 @@ class ModLog: for role in old_roles: if role not in new_roles: - changes.append(f"Role removed: {role.name} (`{role.id}`)") + changes.append(f"**Role removed:** {role.name} (`{role.id}`)") for role in new_roles: if role not in old_roles: - changes.append(f"Role added: {role.name} (`{role.id}`)") + changes.append(f"**Role added:** {role.name} (`{role.id}`)") else: new = value["new_value"] old = value["old_value"] - changes.append(f"{key.title()}: `{old}` -> `{new}`") + changes.append(f"**{key.title()}:** `{old}` **->** `{new}`") done.append(key) + if before.name != after.name: + changes.append( + f"**Username:** `{before.name}` **->** `{after.name}`" + ) + + if before.discriminator != after.discriminator: + changes.append( + f"**Discriminator:** `{before.discriminator}` **->** `{after.discriminator}`" + ) + if not changes: return @@ -393,7 +412,7 @@ class ModLog: for item in sorted(changes): message += f"{BULLET_POINT} {item}\n" - message = f"**{after.name}#{after.discriminator} (`{after.id}`)**\n{message}" + message = f"**{after.name}#{after.discriminator}** (`{after.id}`)\n{message}" await self.send_log_message( Icons.user_update, Colour.blurple(), |