Skip to content

Latest commit

 

History

3 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation


discord.js


📦 Container Factory

A robust, lightweight utility for building Discord Components v2

NPM Version Downloads License


📖 About

Container Factory abstracts the complexity of Discord's new Components v2 architecture (Containers, Sections, TextDisplay, etc.) into a fluent, type-safe API. Built on top of discord.js, it allows you to construct beautiful, rich interfaces for your bots with minimal boilerplate.

✨ Features

  • 🧩 Complete v2 Support
    • Containers, Sections, Separators
    • Text Display Components
    • Media Galleries & Files
  • 🎨 Fluent API Design
    • Intuitive helper functions for every component
    • Chainable builders
  • 🖼️ Media Galleries
    • Create scrolling carousels with ease
  • 🔘 Interactive Components
    • Buttons, Link Buttons, Labels
    • Advanced Select Menus (String, User, Role, Channel, Mentionable)
  • 🪶 Zero Dependencies
    • Lightweight and focused purely on UI construction

📥 Installation

npm install container-factory

Note: Requires discord.js v14.25.1 or newer.

🚀 Usage

import { createText, buildContainer, createMessagePayload } from 'container-factory';

// 1. Create components
const helloProps = createText("👋 **Welcome to Container Factory!**");

// 2. Build the container
const container = buildContainer(helloProps);

// 3. Send it
await channel.send(createMessagePayload(container));

💡 Examples

Rich Section with Accessories

import { createSection, createButton, buildContainer } from 'container-factory';

const settingsBtn = createButton('settings', '⚙️');
const section = createSection("**User Settings**\nManage your preferences here.", settingsBtn);

await channel.send(createMessagePayload(buildContainer(section)));

Media Gallery (Carousel)

import { createMediaGallery, buildContainer } from 'container-factory';

const gallery = createMediaGallery([
    'https://example.com/slide1.png',
    'https://example.com/slide2.png'
], "Project Showcase");

await channel.send(createMessagePayload(buildContainer(gallery)));

🤝 Contributing

  1. Fork the repository
  2. Clone your fork: git clone https://github.com/ramkrishna-js/container-factory.git
  3. Create your feature branch: git checkout -b my-new-feature
  4. Commit your changes: git commit -am 'Add some feature'
  5. Push to the branch: git push origin my-new-feature
  6. Submit a pull request

👤 Developer

Ramkrishna

📄 License

This project is licensed under the MIT License. See the LICENSE file for details.


Made with ❤️ by Ramkrishna

About

A robust utility for building Discord Components v2 (Containers, Sections, etc.) using discord.js.

Topics

Resources

Stars

42 stars

Watchers

0 watching

Forks

Releases

Contributors

Languages