feat: Add DM notifications for role addition and removal in RoleManagementCog
This commit is contained in:
parent
76463883d2
commit
3b185e1f4d
@ -436,6 +436,23 @@ class RoleManagementCog(commands.Cog):
|
||||
|
||||
await interaction.response.send_message(embed=embed)
|
||||
logger.info(f"Role '{role.name}' added to {member} by {interaction.user} in {interaction.guild.name}")
|
||||
|
||||
# Attempt to DM the user
|
||||
try:
|
||||
dm_embed = discord.Embed(
|
||||
title="Role Added",
|
||||
description=f"The role {role.mention} was added to you in **{interaction.guild.name}**.",
|
||||
color=role.color
|
||||
)
|
||||
dm_embed.add_field(name="Added by", value=interaction.user.mention, inline=True)
|
||||
if reason:
|
||||
dm_embed.add_field(name="Reason", value=reason, inline=False)
|
||||
await member.send(embed=dm_embed)
|
||||
logger.info(f"Successfully DMed {member} about role '{role.name}' addition.")
|
||||
except discord.Forbidden:
|
||||
logger.warning(f"Failed to DM {member} about role '{role.name}' addition (Forbidden).")
|
||||
except discord.HTTPException as e:
|
||||
logger.warning(f"Failed to DM {member} about role '{role.name}' addition (HTTPException: {e}).")
|
||||
|
||||
except discord.Forbidden:
|
||||
await interaction.response.send_message("I don't have permission to add roles to this member.", ephemeral=True)
|
||||
@ -486,6 +503,23 @@ class RoleManagementCog(commands.Cog):
|
||||
|
||||
await interaction.response.send_message(embed=embed)
|
||||
logger.info(f"Role '{role.name}' removed from {member} by {interaction.user} in {interaction.guild.name}")
|
||||
|
||||
# Attempt to DM the user
|
||||
try:
|
||||
dm_embed = discord.Embed(
|
||||
title="Role Removed",
|
||||
description=f"The role {role.mention} was removed from you in **{interaction.guild.name}**.",
|
||||
color=role.color
|
||||
)
|
||||
dm_embed.add_field(name="Removed by", value=interaction.user.mention, inline=True)
|
||||
if reason:
|
||||
dm_embed.add_field(name="Reason", value=reason, inline=False)
|
||||
await member.send(embed=dm_embed)
|
||||
logger.info(f"Successfully DMed {member} about role '{role.name}' removal.")
|
||||
except discord.Forbidden:
|
||||
logger.warning(f"Failed to DM {member} about role '{role.name}' removal (Forbidden).")
|
||||
except discord.HTTPException as e:
|
||||
logger.warning(f"Failed to DM {member} about role '{role.name}' removal (HTTPException: {e}).")
|
||||
|
||||
except discord.Forbidden:
|
||||
await interaction.response.send_message("I don't have permission to remove roles from this member.", ephemeral=True)
|
||||
|
Loading…
x
Reference in New Issue
Block a user