Lumi/knowledge/plugins/birthday.md
2026-06-25 14:10:04 +02:00

6.0 KiB

id title scope status priority visibility category tags generated editable updated_at
plugin.birthday Birthday plugins active 10 user Plugin plugin, birthday true false 2026-06-25T12:06:11.231Z

Birthday

Birthday profiles, announcements, lookup commands, and optional birthday currency gifts.

Metadata

Plugin ID: birthday Version: 0.1.2 Default state: enabled

Web Routes

  • /plugins/birthday
  • GET /plugins/birthday
  • POST /plugins/birthday/settings
  • POST /plugins/birthday/templates/create
  • POST /plugins/birthday/templates/:id/update
  • POST /plugins/birthday/templates/:id/duplicate
  • POST /plugins/birthday/templates/:id/remove
  • POST /plugins/birthday/profile
  • POST /plugins/birthday/profile/unset
  • GET /plugins/birthday/u/:username

Route Reference

MOUNT /plugins/birthday

  • Purpose: Mounts the plugin router at this base WebUI path.
  • Inputs: No request parameters detected by static analysis.
  • Response format: Plugin router mount point.
  • Access: Access is controlled by the mount options and individual plugin routes.
  • Side effects: No direct route action; child routes handle requests.
  • Limits/notes: Mount metadata is inferred from static source scanning.

GET /plugins/birthday

  • Purpose: Renders or serves the birthday plugin page.
  • Inputs: No request parameters detected by static analysis.
  • Response format: HTML page rendered from an EJS view
  • Access: admin access expected; logged-in session required or used
  • Side effects: Usually read-only.
  • Limits/notes: Generated from static route source analysis; confirm exact behavior in the handler before changing integrations.

POST /plugins/birthday/settings

  • Purpose: Processes the birthday plugin action for settings.
  • Inputs: body: announcement_channel_id, birthday_check_interval_minutes, enabled, gift_amount, gift_mode, leap_day_policy, timezone
  • Response format: HTTP redirect after handling the request
  • Access: admin access expected; logged-in session required or used
  • Side effects: writes or mutates server-side state
  • Limits/notes: Generated from static route source analysis; confirm exact behavior in the handler before changing integrations. Input length or numeric bounds are enforced by helper functions in the handler. Most non-API POST routes are browser form submissions and usually redirect after completion.

POST /plugins/birthday/templates/create

  • Purpose: Processes the birthday plugin action for templates create.
  • Inputs: body: pool, text
  • Response format: HTTP redirect after handling the request
  • Access: logged-in session required or used
  • Side effects: writes or mutates server-side state
  • Limits/notes: Generated from static route source analysis; confirm exact behavior in the handler before changing integrations. Most non-API POST routes are browser form submissions and usually redirect after completion.

POST /plugins/birthday/templates/:id/update

  • Purpose: Processes the birthday plugin action for templates id update.
  • Inputs: path params: id; body: enabled, pool, text
  • Response format: HTTP redirect after handling the request
  • Access: logged-in session required or used
  • Side effects: writes or mutates server-side state
  • Limits/notes: Generated from static route source analysis; confirm exact behavior in the handler before changing integrations. Most non-API POST routes are browser form submissions and usually redirect after completion.

POST /plugins/birthday/templates/:id/duplicate

  • Purpose: Processes the birthday plugin action for templates id duplicate.
  • Inputs: path params: id; body: pool
  • Response format: HTTP redirect after handling the request
  • Access: logged-in session required or used
  • Side effects: writes or mutates server-side state
  • Limits/notes: Generated from static route source analysis; confirm exact behavior in the handler before changing integrations. Most non-API POST routes are browser form submissions and usually redirect after completion.

POST /plugins/birthday/templates/:id/remove

  • Purpose: Processes the birthday plugin action for templates id remove.
  • Inputs: path params: id; body: pool
  • Response format: HTTP redirect after handling the request
  • Access: logged-in session required or used
  • Side effects: writes or mutates server-side state
  • Limits/notes: Generated from static route source analysis; confirm exact behavior in the handler before changing integrations. Most non-API POST routes are browser form submissions and usually redirect after completion.

POST /plugins/birthday/profile

  • Purpose: Processes the birthday plugin action for profile.
  • Inputs: body: birthday, privacy
  • Response format: HTTP redirect after handling the request
  • Access: logged-in session required or used
  • Side effects: Consumes submitted data; state mutation happens in called helpers if present.
  • Limits/notes: Generated from static route source analysis; confirm exact behavior in the handler before changing integrations. Most non-API POST routes are browser form submissions and usually redirect after completion.

POST /plugins/birthday/profile/unset

  • Purpose: Processes the birthday plugin action for profile unset.
  • Inputs: No request parameters detected by static analysis.
  • Response format: HTTP redirect after handling the request
  • Access: logged-in session required or used
  • Side effects: writes or mutates server-side state
  • Limits/notes: Generated from static route source analysis; confirm exact behavior in the handler before changing integrations. Most non-API POST routes are browser form submissions and usually redirect after completion.

GET /plugins/birthday/u/:username

  • Purpose: Renders or serves the birthday plugin page for u username.
  • Inputs: path params: username
  • Response format: HTML page rendered from an EJS view
  • Access: logged-in session required or used
  • Side effects: Usually read-only.
  • Limits/notes: Generated from static route source analysis; confirm exact behavior in the handler before changing integrations.

Commands

  • No plugin command triggers detected.

Source

Plugin folder: plugins/birthday