The modern Discord framework for Dart

Mineral is an open source framework that makes developing Discord applications intuitive and powerful. Create complete, high-performance, production-quality applications with complete confidence.

Philosophy: Robustness, modularity and flexibility

Features

Discover the power of Mineral

Mineral is designed to help you build Discord applications with ease. It provides a wide range of features that make development faster and more efficient.

Open Source

Mineral is open source, meaning you can contribute to the project, report issues, and help shape the future of the framework.

Dart powered

Mineral is built on top of Dart, take advantage of the language features and the performance of compiled code.

Easy to Use

Mineral is designed to be easy to use, with a simple and intuitive API that makes building Discord applications a breeze.

Interactive CLI

Comes with an interactive CLI that helps you scaffold new projects from different architecture presets, generate events any Mineral components, and manage your application with ease.

Best Practices

Follows best practices for building Discord applications, ensuring that your applications are secure, reliable, and performant.

Ecosystem

Take advantage of an ecosystem exclusive to the Mineral framework. Don't reinvent the wheel, we provide a multitude of additional packages.

Core features

Building on modern foundations

Interactive CLI

The interactive CLI helps you scaffold new projects from different architecture presets, generate events any Mineral components, and manage your application with ease.

Project scaffolding

Quickly scaffold new projects from different architecture presets on your next Discord application.

Component generation

Generate files for events, commands, providers and more with a dedicated commands.

Create and inject your own commands

Integrate your own commands into the CLI to automate tasks and streamline your workflow.

Events listening

Listen to events emitted by Discord and react to them with your own custom logic. Mineral provides a simple and powerful way to handle events and build your application.

Functional design

You can declare your events from client instance with a simple handler function to make a benchmarks or a poc of your application.

Object oriented design

According with a Dart language philosophy, you can create your own classes to handle your events and commands to make more complex applications.

Exclusive events

Mineral offers exclusive events to make listening to certain Discord events as easy as possible.

Slash commands

Slash commands are a new way to interact with your Discord bot. Mineral proposes an innovative approach to simplify the creation of your orders as much as possible.

Command builder

Mineral provides a command builder to help you create commands with ease. Simply define your command and its options, and Mineral will take care of the rest.

Declaration and definition commands

We offer two distinct approaches, enabling you to design your orders in a declarative or imperative manner.

Translations

Offers a simple way to manage translations in your application. Define your translations in a YAML file and use them in your commands.

Mineral 4 is currently in beta phase, follow the steps below to get started.

Step 1: Bug reports (current)

This phase focuses on detecting anomalies and malfunctions. Your role is to report any bugs you encounter to help us correct them.

Step 2: Addition of new planned functionalities

We have previously focused on reporting malfunctions, but a host of new features are planned for the final version, which we will develop.

Step 3: Integration of your proposals

We will integrate your proposals and suggestions into the final version of Mineral. Your feedback is essential to us.

Ready !

We will release the final version of Mineral, which will include all the features and improvements you have suggested.

Features

Discover the power of Mineral

Mineral is designed to help you build Discord applications with ease. It provides a wide range of features that make development faster and more efficient.

Events

Listen to events emitted by Discord and react to them with your own custom logic.

Slash Commands

Slash commands are a new way to interact with your Discord bot, create them with declaration or definition approach.

Global States

Global states are a way to share data accros events, commands, services, components or any other part of your application.

Providers

Provide allow you to split easily your application into multiple parts and manage the dependencies between them.

Text Components

Build your own embeds, dialogs, buttons, menus or any other text components with a simple and powerful API.

Hot Module Reloading (HMR)

Automatically reloads your application when you make changes to your code without reset the websocket connection.

Caching strategy

Mineral provides a caching strategy to cache your data and reduce the number of requests to the Discord API.

Service Container (IoC)

IoC rovides a service container to manage your application dependencies and perform dependency injection.

Cloud native

Mineral is cloud native, meaning you can deploy your applications to the cloud with ease with Kubernetes or any other one.

FAQs

Frequently Asked Questions

Here are some of the most common questions we get asked about Mineral. If you have a question that isn't answered here, feel free to reach out to us.

Mineral is open source ?

Yes, Mineral is open source, meaning you can contribute to the project, report issues, and help shape the future of the framework.

Mineral is production ready ?

The current version (v3) is production ready, but the next version (v4) is currently in beta phase. We are working hard to make it production ready.

2161
Commits
30
Stars
2
Years of creation

Start using Mineral

Ready to get started with Mineral ? Check out the documentation to learn how to build your first Discord application 🚀