diff --git a/src/commands/commands/events.command.ts b/src/commands/commands/events.command.ts index cc3d8b3a..21c526b4 100644 --- a/src/commands/commands/events.command.ts +++ b/src/commands/commands/events.command.ts @@ -1208,8 +1208,8 @@ export class EventsCommand extends AdminCommand { `- ${commandMention("events", "winners")} lists current winners; ${commandMention("events", "clear-winners")} revokes early.\n` + "- With multiple occurrences scheduled, the **earliest** one to open revokes the role.\n\n" + "**Auto-pull subs at room start:**\n" + - "- `auto_pull_subs_at_room_start_toggle` (default `false`) — at each room's start, lock paired sub and pull subs into the room. Forces room lock at exact `start_time` (ignores `lock_offset`).\n" + - "- `shuffle_subs_before_auto_pull_toggle` (default `false`) — shuffle the sub queue before the pull.\n" + + "- `auto_pull_subs_room_start_toggle` (default `false`) — at each room's start, lock paired sub and pull subs into the room. Forces room lock at exact `start_time` (ignores `lock_offset`).\n" + + "- `shuffle_subs_before_pull_toggle` (default `false`) — shuffle the sub queue before the pull.\n" + "- `sub_auto_pull_mode` (default `drain`) — `drain`: standard `/pull` side effects fire. `promote`: move into room queue (bypasses room lock), no sub-side pull effects.\n\n" + "**Extra per-room channels:**\n" + `- ${commandMention("events", "add-room-channel")} adds an extra per-room channel like \`room-code-{N}\`, with optional slowmode.\n` + diff --git a/src/options/base-option.ts b/src/options/base-option.ts index e5d91a7c..f2a0ef4c 100644 --- a/src/options/base-option.ts +++ b/src/options/base-option.ts @@ -73,6 +73,10 @@ export abstract class BaseOption 32) { + throw new Error(`Error creating option ${id}. name length must be <= 32 (attempted: ${id.length})`); + } + optionBuilder.setName(id).setDescription(this.buildDescription()); if (required) { diff --git a/src/options/options/auto-pull-subs-at-room-start-toggle.option.ts b/src/options/options/auto-pull-subs-at-room-start-toggle.option.ts index cc913f81..1b9bf1e1 100644 --- a/src/options/options/auto-pull-subs-at-room-start-toggle.option.ts +++ b/src/options/options/auto-pull-subs-at-room-start-toggle.option.ts @@ -2,7 +2,7 @@ import { EVENT_TABLE } from "../../db/schema.ts"; import { BooleanOption } from "../base-option.ts"; export class AutoPullSubsAtRoomStartToggleOption extends BooleanOption { - static readonly ID = "auto_pull_subs_at_room_start_toggle"; + static readonly ID = "auto_pull_subs_room_start_toggle"; id = AutoPullSubsAtRoomStartToggleOption.ID; defaultValue = EVENT_TABLE.autoPullSubsAtRoomStartToggle.default; } diff --git a/src/options/options/shuffle-subs-before-auto-pull-toggle.option.ts b/src/options/options/shuffle-subs-before-auto-pull-toggle.option.ts index 7ba0d62d..f3ee56b0 100644 --- a/src/options/options/shuffle-subs-before-auto-pull-toggle.option.ts +++ b/src/options/options/shuffle-subs-before-auto-pull-toggle.option.ts @@ -2,7 +2,7 @@ import { EVENT_TABLE } from "../../db/schema.ts"; import { BooleanOption } from "../base-option.ts"; export class ShuffleSubsBeforeAutoPullToggleOption extends BooleanOption { - static readonly ID = "shuffle_subs_before_auto_pull_toggle"; + static readonly ID = "shuffle_subs_before_pull_toggle"; id = ShuffleSubsBeforeAutoPullToggleOption.ID; defaultValue = EVENT_TABLE.shuffleSubsBeforeAutoPullToggle.default; }