|
|
@@ -646,12 +646,12 @@ async def role_admin_set_inactivity_days(
|
|
|
await ctx.respond(f"Inactivity timeout set to **{days}** days.", ephemeral=True)
|
|
|
|
|
|
@bot.slash_command(
|
|
|
- name="role-admin-refresh",
|
|
|
+ name="role-admin-set-refresh-interval",
|
|
|
description="Set auto-refresh interval (minutes) for panels.",
|
|
|
default_member_permissions=ADMIN_PERMS,
|
|
|
**guild_ids_kw()
|
|
|
)
|
|
|
-async def role_admin_refresh(
|
|
|
+async def role_admin_set_refresh_interval(
|
|
|
ctx: discord.ApplicationContext,
|
|
|
minutes: discord.Option(int, "Refresh interval in minutes (>=1)")
|
|
|
):
|
|
|
@@ -662,6 +662,19 @@ async def role_admin_refresh(
|
|
|
with db_connect() as conn:
|
|
|
set_refresh_minutes(conn, ctx.guild.id, minutes)
|
|
|
await ctx.respond(f"Panel refresh interval set to **{minutes} minute(s)**.", ephemeral=True)
|
|
|
+ # Force one refresh immediately
|
|
|
+ await refresh_all_public_panels(ctx.guild, force=True)
|
|
|
+ await refresh_all_dm_panels(ctx.guild, force=True)
|
|
|
+
|
|
|
+@bot.slash_command(
|
|
|
+ name="role-admin-refresh-now",
|
|
|
+ description="Trigger an immediate refresh of all panels (does not change interval).",
|
|
|
+ default_member_permissions=ADMIN_PERMS,
|
|
|
+ **guild_ids_kw()
|
|
|
+)
|
|
|
+async def role_admin_refresh_now(ctx: discord.ApplicationContext):
|
|
|
+ assert ctx.guild is not None
|
|
|
+ await ctx.respond("Refreshing panels now…", ephemeral=True)
|
|
|
await refresh_all_public_panels(ctx.guild, force=True)
|
|
|
await refresh_all_dm_panels(ctx.guild, force=True)
|
|
|
|
|
|
@@ -991,7 +1004,8 @@ async def role_help(ctx: discord.ApplicationContext):
|
|
|
"/role-admin-remove-pickable <role> — remove a pickable role",
|
|
|
"/role-admin-set-role-limits <role> [min] [max] — set min/max hints",
|
|
|
"/role-admin-set-inactivity-days <days> — set inactivity timeout",
|
|
|
- "/role-admin-refresh <minutes> — set auto-refresh interval",
|
|
|
+ "/role-admin-set-refresh-interval <minutes> — set auto-refresh interval",
|
|
|
+ "/role-admin-refresh-now — trigger an immediate refresh",
|
|
|
"/role-admin-list-users — list users per pickable role",
|
|
|
"/role-admin-list-config — show current configuration",
|
|
|
"/role-admin-add-user-for-role <user> <role> — add user to role",
|