v0.9
Typewriter 0.9.0-beta-175 (Java 21).
The extension is renamed Community → Discord. Directory, package and extension name follow.
Entry names are untouched, because pages serialize them.
New
webhook_definition: a Discord destination declared once and referenced everywhere. Chat sync, account link and bug reports each used to carry their own copy of the URL, username and avatar.WebhookService, a Koin singleton any extension can inject. The HTTP client used to be built by hand in the initializer and handed to each service, so nothing outside could deliver a message.shop_notification_manifest: how a shop transaction reads once it reaches Discord. The destination is deliberately absent from it — it belongs to the shop — so one presentation serves every shop while each posts to its own channel.DiscordClientServicemoved into its own package: chat sync, console and bug reports all use it, so it never belonged to account linking.
Fixes
- Bug reports lost their second on/off switch: an empty destination is the disabled state.
- Permanent role mentions live on the destination; one-off mentions stay the caller's business and add up with them.
Migration
- Pages written before this version are converted on first start: one
webhook_definitionper distinct destination — manifests configured identically share a single entry — and the manifests repointed at it. - Every rewritten page is backed up first, under
backup/community-webhook-v1/. - The conversion is driven by shape, not by a version number, so running it twice changes nothing.
- A manifest that was switched off keeps its URL on a disabled destination rather than losing it.
Compatibility
- Requires Typewriter 0.9.0-beta-175.
- The Shops extension is required only for shop announcements, and is not a dependency: Shops publishes an event and knows nothing of Discord; the listener is registered only when that event class is on the server.
- Back up your Typewriter
pages/directory before upgrading.
Install the attached JAR in the Typewriter extensions directory and reload the server. Remove the
old TypeWriter-CommunityExtension.jar — leaving both loads the extension twice.
Documentation: https://docs.borntocraftstudio.net/extensions/free/discord/