Skip to content

Scheduled announcements — /announce command #42

@BillChirico

Description

@BillChirico

Part of #40

Allow admins to schedule one-time or recurring messages via /announce.

Subtasks

  • Create scheduled_messages table: id, guild_id, channel_id, content, embed_json, cron_expression, next_run, timezone, author_id, enabled, created_at
  • /announce once — schedule a one-time message at a specific datetime
  • /announce recurring — schedule a recurring message (daily, weekly, etc.)
  • /announce list — show all scheduled messages for the guild with next fire time
  • /announce cancel — cancel a scheduled message (author or admin)
  • Lightweight scheduler: setInterval polling every 60s, checks next_run, fires and updates
  • Support rich embeds via optional --embed flag with title/description/color
  • Timezone support via guild-level config (default America/New_York)

Acceptance Criteria

  • One-time and recurring announcements work
  • Scheduler persists across restarts
  • Timezone-aware scheduling

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions