125 lines
6.0 KiB
Markdown
125 lines
6.0 KiB
Markdown
---
|
|
id: plugin.birthday
|
|
title: Birthday
|
|
scope: plugins
|
|
status: active
|
|
priority: 10
|
|
visibility: user
|
|
category: Plugin
|
|
tags: plugin, birthday
|
|
generated: true
|
|
editable: false
|
|
updated_at: "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
|