update
This commit is contained in:
@@ -106,6 +106,13 @@ class Admin(commands.Cog):
|
||||
inline=False,
|
||||
)
|
||||
|
||||
# Notification settings
|
||||
embed.add_field(
|
||||
name="In-Channel Warnings",
|
||||
value="✅ Enabled" if config.send_in_channel_warnings else "❌ Disabled",
|
||||
inline=True,
|
||||
)
|
||||
|
||||
await ctx.send(embed=embed)
|
||||
|
||||
@config.command(name="prefix")
|
||||
@@ -263,6 +270,47 @@ class Admin(commands.Cog):
|
||||
else:
|
||||
await ctx.send(f"Banned word #{word_id} not found.")
|
||||
|
||||
@commands.command(name="channelwarnings")
|
||||
@commands.guild_only()
|
||||
async def channel_warnings(self, ctx: commands.Context, enabled: bool) -> None:
|
||||
"""Enable or disable PUBLIC in-channel warnings when DMs fail.
|
||||
|
||||
WARNING: In-channel messages are PUBLIC and visible to all users in the channel.
|
||||
They are NOT private due to Discord API limitations.
|
||||
|
||||
When enabled, if a user has DMs disabled, moderation warnings will be sent
|
||||
as temporary PUBLIC messages in the channel (auto-deleted after 10 seconds).
|
||||
|
||||
Args:
|
||||
enabled: True to enable PUBLIC warnings, False to disable (default: False)
|
||||
"""
|
||||
await self.bot.guild_config.update_settings(ctx.guild.id, send_in_channel_warnings=enabled)
|
||||
|
||||
status = "enabled" if enabled else "disabled"
|
||||
embed = discord.Embed(
|
||||
title="In-Channel Warnings Updated",
|
||||
description=f"In-channel warnings are now **{status}**.",
|
||||
color=discord.Color.green() if enabled else discord.Color.orange(),
|
||||
)
|
||||
|
||||
if enabled:
|
||||
embed.add_field(
|
||||
name="⚠️ Privacy Warning",
|
||||
value="**Messages are PUBLIC and visible to ALL users in the channel.**\n"
|
||||
"When a user has DMs disabled, moderation warnings will be sent "
|
||||
"as temporary PUBLIC messages in the channel (auto-deleted after 10 seconds).",
|
||||
inline=False,
|
||||
)
|
||||
else:
|
||||
embed.add_field(
|
||||
name="✅ Privacy Protected",
|
||||
value="When users have DMs disabled, they will not receive any notification. "
|
||||
"This protects user privacy and prevents public embarrassment.",
|
||||
inline=False,
|
||||
)
|
||||
|
||||
await ctx.send(embed=embed)
|
||||
|
||||
@commands.command(name="sync")
|
||||
@commands.is_owner()
|
||||
async def sync_commands(self, ctx: commands.Context) -> None:
|
||||
|
||||
Reference in New Issue
Block a user