{"id":"meowtsun/embedmaker","name":"embedmaker","scope":"meowtsun","platform":"roblox","description":"Discord.js Embedbuilder in luau for Roblox Studio","version":"1.2.0","latest":"1.2.0","versions":["1.2.0"],"license":"MIT","licenseRating":"safe","licenseCaveats":[],"licenseVerified":true,"dependencies":{},"integrity":"3b092f0ea0e29e0a95c9c4aebf576e8882b29a4d667d208048c748378e2c725f","likes":0,"downloads":0,"install":"forest install meowtsun/embedmaker","url":"https://forest.dev/p/roblox/meowtsun/embedmaker","files":"https://api.forest.dev/ai/package/roblox/meowtsun/embedmaker/files","readme":"# EmbedMaker `v1.2`\n\n---\n\nBuilder utility for Roblox Lua to create rich embeds with modular fields, author, footer, images, and colors.\nAPIs are taken from EmbedBuilder in Discord.js\n\n---\n\n### Installation\n\n#### Creator Store\n\nyou can get the model directly from [Creator Store](https://create.roblox.com/store/asset/70491445150377/EmbedMaker)\n\n#### Releases\n\nif you need specific versions you can look into [Releases](https://github.com/Meowtsun/EmbedMaker/releases)\n\n---\n\n### Usage\n\n```lua\nlocal EmbedMaker = require(...)\nlocal FooterBuilder = EmbedMaker.FooterBuilder\nlocal FieldBuilder = EmbedMaker.FieldBuilder\n\nlocal embed = EmbedMaker.new()\n    :SetTitle(\"Hello World\")\n    :SetDescription(\"This is a description\")\n    :SetColor(Color3.fromRGB(255, 0, 0))\n    :AddFields(\n        FieldBuilder.new()\n            :SetName(\"Field1\")\n            :SetValue(\"Value1\")\n            :SetInline(true)\n        ,\n        FieldBuilder.new()\n            :SetName(\"Field2\")\n            :SetValue(\"Value2\")\n        ,\n        -- providing table also works ofc\n        {name = \"Field3\", value = \"Value3\"}\n    )\n    :SetFooter(\n       FooterBuilder.new()\n        :SetText(\"This is a footer text\")\n    )\n\nlocal json = embed:ToJSON()\nprint(json)\n```\n\n---\n\n### APIs\n\n- [EmbedMaker](#embedmakernew)\n  - [`new()`](#embedmakernew)\n- [EmbedBuilder](#embedbuilder)\n  - [`AddFields()`](#embedbuilderaddfields)\n  - [`Clear()`](#embedbuilderclear)\n  - [`Set()`](#embedbuilderset)\n  - [`UpdateAuthor()`](#embedbuilderupdateauthor)\n  - [`UpdateFooter()`](#embedbuilderupdatefooter)\n  - [`ToJSON()`](#embedbuildertojson)\n  - [`Validate()`](#embedbuildervalidate)\n- [FieldBuilder](#fieldbuilder)\n- [AuthorBuilder](#authorbuilder)\n- [FooterBuilder](#footerbuilder)\n\n---\n\n<h4 id=\"embedmakernew\">EmbedMaker.new(): EmbedBuilder</h4>\n\nReturns a new [EmbedBuilder](#embedbuilder) instance.\n<br><br>\n\n---\n\n<h4 id=\"embedbuilder\">EmbedBuilder</h4>\n\nBuilder for full embeds, allowing setting of author, footer, fields, images, colors, timestamps, and more.\n\n- `AddFields(...fields: Field): EmbedBuilder` – Adds one or more fields to the embed.\n- `ClearAuthor(): EmbedBuilder` – Clears the author.\n- `ClearColor(): EmbedBuilder` – Clears the color.\n- `ClearDescription(): EmbedBuilder` – Clears the description.\n- `ClearFooter(): EmbedBuilder` – Clears the footer.\n- `ClearImage(): EmbedBuilder` – Clears the image.\n- `ClearThumbnail(): EmbedBuilder` – Clears the thumbnail.\n- `ClearTimestamp(): EmbedBuilder` – Clears the timestamp.\n- `ClearTitle(): EmbedBuilder` – Clears the title.\n- `ClearUrl(): EmbedBuilder` – Clears the URL.\n- `SetAuthor(author: Author): EmbedBuilder` – Sets the embed author.\n- `SetColor(color: Color3): EmbedBuilder` – Sets the embed color.\n- `SetDescription(description: string): EmbedBuilder` – Sets the description.\n- `SetFields(fields: {Field}): EmbedBuilder` – Replaces all fields with the provided list.\n- `SetFooter(footer: Footer): EmbedBuilder` – Sets the embed footer.\n- `SetImage(image: string): EmbedBuilder` – Sets the image URL.\n- `SetThumbnail(thumbnail: string): EmbedBuilder` – Sets the thumbnail URL.\n- `SetTimestamp(timestamp: DateTime | number?): EmbedBuilder` – Sets the timestamp.\n- `SetTitle(title: string): EmbedBuilder` – Sets the title.\n- `SetURL(url: string): EmbedBuilder` – Sets the URL.\n- `ToJSON(noValidation?: boolean, excludeHeader?: boolean): string` – Converts embed to JSON string.\n- `Validate(): boolean` – Checks if the embed is valid.\n- `UpdateAuthor(author: Author): EmbedBuilder` – Updates the author without clearing other fields.\n- `UpdateFooter(footer: Footer): EmbedBuilder` – Updates the footer without clearing other fields.\n\n**Properties:**  \n\n- `author: Author?`  \n- `color: Color3?`  \n- `description: string?`  \n- `fields: {Field}`  \n- `footer: Footer?`  \n- `image: string?`  \n- `thumbnail: string?`  \n- `timestamp: number?`  \n- `title: string?`  \n- `url: string?`\n\n<h4 id=\"fieldbuilder\">FieldBuilder</h4>\n\nBuilder for embed fields.\n\n- `SetName(name: string)`\n- `SetValue(value: string)`\n- `SetInline(inline: boolean)`\n- `ToJSON(): string`\n- `Validate(): boolean`\n- Properties: `name`, `value`, `inline`\n\n<h4 id=\"authorbuilder\">AuthorBuilder</h4>\n\nBuilder for embed author.\n\n- `SetName(name: string)`\n- `SetURL(url: string)`\n- `SetIconURL(icon_url: string)`\n- `ClearURL()`, `ClearIconURL()`\n- `ToJSON()`\n- `Validate(): boolean`\n- Properties: `name`, `url`, `icon_url`\n\n<h4 id=\"footerbuilder\">FooterBuilder</h4>\n\nBuilder for embed footer.\n\n- `SetText(text: string)`\n- `SetIconURL(icon_url: string)`\n- `ClearText()`, `ClearIconURL()`\n- `ToJSON(): string`\n- `Validate(): boolean`\n- Properties: `text`, `icon_url`\n","readmeTruncated":false}