44 lines
1.9 KiB
Markdown
44 lines
1.9 KiB
Markdown
# Birthday Plugin
|
|
|
|
Standalone Lumi plugin for birthday profile settings, chat commands, Discord birthday announcements, and optional Economy birthday gifts.
|
|
|
|
## Install
|
|
|
|
Install `updates/lumi-plugin-birthday-v0.1.0.zip` through Admin -> Plugins. The ZIP is built from the contents of this folder, so `plugin.json` is at the ZIP root.
|
|
|
|
## Commands
|
|
|
|
- `!birthday` shows help and the caller's stored birthday when available.
|
|
- `!birthday set YYYY/MM/DD` stores a full birthday.
|
|
- `!birthday set MM/DD` stores a birthday without a year.
|
|
- `!birthday unset` removes the caller's birthday.
|
|
- `!birthday <user>` looks up a Lumi user by internal username, linked display name, provider user ID, or Discord mention.
|
|
- `!birthday claim` claims the configured gift when manual gift mode is enabled.
|
|
|
|
The `bday` alias is also registered. The command supports Discord, Twitch, and YouTube command contexts.
|
|
|
|
## WebUI
|
|
|
|
- Admin/mod page: `/plugins/birthday`
|
|
- Owner profile section: rendered on `/profile` through `web.addProfileSection`
|
|
- Visitor birthday card: `/plugins/birthday/u/:username`
|
|
|
|
Lumi currently exposes an owner profile section hook, but this repository does not expose a separate public visitor profile hook for plugins. Because of that, visitor display is implemented as the plugin route above instead of being injected into a core public profile page.
|
|
|
|
## Storage
|
|
|
|
Birthdays are stored in plugin-owned tables:
|
|
|
|
- `birthday_profiles`
|
|
- `birthday_deliveries`
|
|
|
|
Plugin settings are stored in `plugin_settings` with `plugin_id = 'birthday'`.
|
|
|
|
## Notes
|
|
|
|
- Accepted date formats are `YYYY/MM/DD` and `MM/DD`.
|
|
- Dash-separated dates and `DD/MM` dates are rejected.
|
|
- Default privacy is `limited`.
|
|
- If Economy is not loaded, birthday announcements still work and gifts are skipped.
|
|
- Automatic gifts are delivered once per birthday occurrence. Manual gifts are claimed once per birthday occurrence.
|