Add update_rules command
This commit is contained in:
parent
fcedfd3760
commit
c77a564d59
@ -30,6 +30,7 @@ from gurt.config import (
|
|||||||
LOCATION,
|
LOCATION,
|
||||||
) # Assuming gurt.config exists and has these
|
) # Assuming gurt.config exists and has these
|
||||||
|
|
||||||
|
from . import aimod_config as aimod_config_module
|
||||||
from .aimod_config import (
|
from .aimod_config import (
|
||||||
DEFAULT_VERTEX_AI_MODEL,
|
DEFAULT_VERTEX_AI_MODEL,
|
||||||
STANDARD_SAFETY_SETTINGS,
|
STANDARD_SAFETY_SETTINGS,
|
||||||
@ -741,6 +742,33 @@ class AIModerationCog(commands.Cog):
|
|||||||
ephemeral=False,
|
ephemeral=False,
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@config_subgroup.command(
|
||||||
|
name="update_rules",
|
||||||
|
description="Update server rules from the specified channel.",
|
||||||
|
)
|
||||||
|
@app_commands.describe(channel="The channel containing the server rules.")
|
||||||
|
@app_commands.checks.has_permissions(administrator=True)
|
||||||
|
async def update_rules(
|
||||||
|
self, interaction: discord.Interaction, channel: discord.TextChannel
|
||||||
|
) -> None:
|
||||||
|
"""Pull the server rules from a channel and update the global config."""
|
||||||
|
messages = []
|
||||||
|
async for msg in channel.history(limit=None, oldest_first=True):
|
||||||
|
if msg.content:
|
||||||
|
messages.append(msg.content)
|
||||||
|
|
||||||
|
if not messages:
|
||||||
|
await interaction.response.send_message(
|
||||||
|
"No messages found in that channel.", ephemeral=True
|
||||||
|
)
|
||||||
|
return
|
||||||
|
|
||||||
|
rules_text = "\n\n".join(messages).strip()
|
||||||
|
aimod_config_module.SERVER_RULES = rules_text
|
||||||
|
await interaction.response.send_message(
|
||||||
|
f"Server rules updated from {channel.mention}.", ephemeral=False
|
||||||
|
)
|
||||||
|
|
||||||
@infractions_subgroup.command(
|
@infractions_subgroup.command(
|
||||||
name="view",
|
name="view",
|
||||||
description="View a user's AI moderation infraction history (mod/admin only).",
|
description="View a user's AI moderation infraction history (mod/admin only).",
|
||||||
|
Loading…
x
Reference in New Issue
Block a user