mirror of
https://github.com/Cog-Creators/Red-DiscordBot.git
synced 2025-11-06 11:18:54 -05:00
[ModLog] Keep last known username in case's data (#3674)
This commit is contained in:
parent
6e91ebeb3d
commit
ed267d17f2
@ -214,12 +214,14 @@ class Case:
|
|||||||
amended_by: Optional[discord.User] = None,
|
amended_by: Optional[discord.User] = None,
|
||||||
modified_at: Optional[int] = None,
|
modified_at: Optional[int] = None,
|
||||||
message: Optional[discord.Message] = None,
|
message: Optional[discord.Message] = None,
|
||||||
|
last_known_username: Optional[str] = None,
|
||||||
):
|
):
|
||||||
self.bot = bot
|
self.bot = bot
|
||||||
self.guild = guild
|
self.guild = guild
|
||||||
self.created_at = created_at
|
self.created_at = created_at
|
||||||
self.action_type = action_type
|
self.action_type = action_type
|
||||||
self.user = user
|
self.user = user
|
||||||
|
self.last_known_username = last_known_username
|
||||||
self.moderator = moderator
|
self.moderator = moderator
|
||||||
self.reason = reason
|
self.reason = reason
|
||||||
self.until = until
|
self.until = until
|
||||||
@ -241,10 +243,16 @@ class Case:
|
|||||||
"""
|
"""
|
||||||
# We don't want case_number to be changed
|
# We don't want case_number to be changed
|
||||||
data.pop("case_number", None)
|
data.pop("case_number", None)
|
||||||
|
# last username is set based on passed user object
|
||||||
|
data.pop("last_known_username", None)
|
||||||
|
|
||||||
for item in list(data.keys()):
|
for item in list(data.keys()):
|
||||||
setattr(self, item, data[item])
|
setattr(self, item, data[item])
|
||||||
|
|
||||||
|
# update last known username
|
||||||
|
if not isinstance(self.user, int):
|
||||||
|
self.last_known_username = f"{self.user.name}#{self.user.discriminator}"
|
||||||
|
|
||||||
await _conf.custom(_CASES, str(self.guild.id), str(self.case_number)).set(self.to_json())
|
await _conf.custom(_CASES, str(self.guild.id), str(self.case_number)).set(self.to_json())
|
||||||
self.bot.dispatch("modlog_case_edit", self)
|
self.bot.dispatch("modlog_case_edit", self)
|
||||||
if not self.message:
|
if not self.message:
|
||||||
@ -314,7 +322,10 @@ class Case:
|
|||||||
)
|
)
|
||||||
|
|
||||||
if isinstance(self.user, int):
|
if isinstance(self.user, int):
|
||||||
|
if self.last_known_username is None:
|
||||||
user = f"[Unknown or Deleted User] ({self.user})"
|
user = f"[Unknown or Deleted User] ({self.user})"
|
||||||
|
else:
|
||||||
|
user = f"{self.last_known_username} ({self.user})"
|
||||||
avatar_url = None
|
avatar_url = None
|
||||||
else:
|
else:
|
||||||
user = escape_spoilers(
|
user = escape_spoilers(
|
||||||
@ -384,6 +395,7 @@ class Case:
|
|||||||
"guild": self.guild.id,
|
"guild": self.guild.id,
|
||||||
"created_at": self.created_at,
|
"created_at": self.created_at,
|
||||||
"user": user_id,
|
"user": user_id,
|
||||||
|
"last_known_username": self.last_known_username,
|
||||||
"moderator": mod,
|
"moderator": mod,
|
||||||
"reason": self.reason,
|
"reason": self.reason,
|
||||||
"until": self.until,
|
"until": self.until,
|
||||||
@ -472,6 +484,7 @@ class Case:
|
|||||||
channel=channel,
|
channel=channel,
|
||||||
modified_at=data["modified_at"],
|
modified_at=data["modified_at"],
|
||||||
message=message,
|
message=message,
|
||||||
|
last_known_username=data.get("last_known_username"),
|
||||||
**user_objects,
|
**user_objects,
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user