Changelog
๐ Bug Fixes
Section titled โ๐ Bug Fixesโ- Managers: Removed a duplicate
deleteoverride inChannelManagerthat caused a TypeScriptTS2393duplicate function implementation error at build time.
๐ ๏ธ Build & Tooling
Section titled โ๐ ๏ธ Build & Toolingโ- DTS build: Excluded
*.test.tsfiles fromtsconfig.dts.jsonto fix aTS5097error caused by.tsimport extensions in test files (valid in Bun, not intsc). create-lunibee: Added a proper CLI entrypoint (binfield,dist/output), sobun create lunibeenow scaffolds a new project correctly.
๐ Documentation
Section titled โ๐ Documentationโquick-start.md: Switched intent syntax from bitwise OR (|) to array form to match the preferredIntentBitsstyle.sharding.md: Same array-form intent fix.README.md: CorrectedPermissionsBitFieldโPermissionSet, andStringSelectMenuBuilderโStringSelectBuilder.
๐ Major Highlights
Section titled โ๐ Major Highlightsโ-
Component Builders V2: Introduced a modern, chainable builder pattern for message components (inspired by Discord.js). Added
ActionRowBuilder,ButtonBuilder, andStringSelectMenuBuilderfor creating rich UIs effortlessly.const row = new ActionRowBuilder().addComponents(new ButtonBuilder().setCustomId("primary-btn").setLabel("Click Me!").setStyle(1) // Primary); -
๐ฏ 100% Test Coverage: The entire Lunibee monorepo has been rigorously tested and now officially boasts 100% line and function coverage across all packages!
โจ Features & Resource APIs
Section titled โโจ Features & Resource APIsโ-
REST Multipart Support: Added
postWithFilesandpatchWithFilesto the REST client, bringing first-class support for attachments and raw form data payloads.await rest.postWithFiles("/channels/123/messages", { content: "Here is your file!" }, [{ name: "image.png", data: fileBuffer, contentType: "image/png" }]); -
Direct Resource Operations: You can now perform intuitive actions directly on structures. Channels and messages are now properly hydrated with the client context.
// Previously: Context-based operationsawait context.editChannel(channel.id, { name: "general" });await context.sendMessage(message.channelId, { content: "Hi!" });// Now: Intuitive editing directly from the structureawait channel.editName("general");await message.reply("Hi!"); -
Advanced Interactions: Added full structural support and parsing for
ModalSubmitInteraction,AutocompleteInteraction, and component types (11, 15, 16). Added missing getters (likegetAttachmentwith required fallbacks) for Slash Command options.// Safely extract a required attachment optionconst attachment = interaction.options.getAttachment("receipt", true);console.log(`Uploaded file: ${attachment.filename}`);
๐ ๏ธ Core & Events
Section titled โ๐ ๏ธ Core & EventsโClientEventEnum: Introduced and exported a newClientEventenum in the@lunibee/corepackage to replace hardcoded event strings.import { ClientEvent } from "@lunibee/core";// Previously: Hardcoded stringsclient.on("messageCreate", (message) => {// Now: Strongly typed enumsclient.on(ClientEvent.MessageCreate, (message) => {console.log(message.content);});
๐ป CLI & Developer Tooling
Section titled โ๐ป CLI & Developer Toolingโ-
Interactive Tooling: Expanded developer tooling by adding an interactive handler generator and support for multiple handlers per event. Fixed a bug to correctly detect existing event handlers.
Terminal window $ npx lunibee generate handler? Which event would you like to handle? messageCreate? Name your handler file: welcome-messageโ Created src/events/messageCreate/welcome-message.ts! -
Fix: Fixed the CLI build process to ensure the published Lunibee binary is properly runnable.
๐ Documentation
Section titled โ๐ Documentationโ- Site & Guides: Made the Lunibee documentation site significantly friendlier. Expanded the quick start workflow and the โpackage choicesโ overview.
- Advanced Guides: Wrote and expanded practical, task-focused guides for Builders, Sharding, Voice connections, Permissions, Formatters, Utilities, and common Discord types.
- API References: Fully documented the new application commands, channel, and message resource APIs.
- Fixes: Corrected gateway intent examples and API names.
- Initial public beta release containing the core client, gateway, REST API wrappers, structural representations of Discord objects, Voice components, builders, and standard interactions.