Lumi/plugins/birthday/README.md
2026-06-11 06:35:43 +02:00

1.9 KiB

Birthday Plugin

Standalone Lumi plugin for birthday profile settings, chat commands, Discord birthday announcements, and optional echonomy 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 echonomy 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.