A Full-Featured Modern Dashboard Template for Discord Bots

Overview

Demo

D-Dash: Discord Bot Dashboard

A Full-Featured Dashboard Template for Discord Bots
You can modify config/config.js to edit configuration without touching the codes
Feel free to contribute this project

Watch the Demo on YouTube

Features

  • Modern Design with Chakra UI
  • Localization Support (English and Chinese)
  • Customizable UI (config.js)
  • Built-in Features and Actions System
  • Existing Backend Implementation

Getting Started

First, clone this Template

git clone https://github.com/SonMooSans/discord-bot-dashboard.git

D-Dash is not just a Template, it supports to add Feature and Action in configuration
Therefore, it requires a full Backend Implementation.
For the implementation in Kotlin, See the Example

You may implement your own Backend APi in another languages by implementing routes mentioned in its README

Configuration

Go to the config.js
This configuration allows you to customize the UI, there is a config.d.ts for type annotations

Normal Settings

You need to specify the API Url and invite url of your bot
You might also add footer items in configuration

const config = {
    name: "Bot Name",
    footer: [
        {
            name: "Hello World",
            url: "https://github.com"
        }
    ],
    //API url
    serverUrl: "http://localhost:8080",
    //Invite url of your bot
    inviteUrl: "https://discord.com/api/oauth2/authorize?client_id=1004280473956139038&permissions=8&scope=bot",
}

Display Data or Statistics

You can customize data to display in your dashboard.
Items function reads detail and state, then returns DataItem array which determines what to display

Dashboard Data

It is an Array of Dashboard Data Row, you can customize options of the row to get additional data from state
You can set advanced to true, so the dashboard will fetch /guild/:guild/detail/advanced and pass to the function by advanced of state

It will be displayed in Statistics Tab

Actions and Features Data

They are both Items functions, you must define data to returns in your API

It will be displayed in Actions or Features Tab
you can display the statistics of things like Ranks, Reaction Role

const config = {
    data: {
        dashboard: [
            {
                advanced: true,
                count: 3, //count of placeholders
                //advanced will be null if row.advanced is false
                items: (detail, {advanced}) => [
                    DataItem
                ]
            }
        ],
        actions: detail => [
            DataItem
        ],
        features: detail => [
            DataItem
        ]
    }
}

Features and Actions

You must define bot features and actions in configuration
Also, the Features and Actions System must be implemented at your API

Feature

Feature is something that can be enabled or disabled, after enabling a feature.
User can edit its options and customize the behavior of bot

Action

Action contains multi Tasks, User can publish or delete Tasks
User must define some options before publishing a task

Action can be used for Reaction Role since you might want the Reaction Role can be enabled for multi messages

Options

Each Feature and Action requires an options array used to customize settings
When user updates options, server will receive a map of ids and its value

The Options Function will receive the values of feature/action fetched from server
For Action, values will be null before user publish the Task

const config = {
    features: {
        "id_of_feature": {
            name: "Welcome Message",
            description: "Send a Mesage to welcome a member when they just joined the Server",
            options: (values) => [
                //Example option
                {
                    id: "message",
                    name: "Message",
                    description: "The message to be sent",
                    type: OptionTypes.Message_Create, //A Message/Embed Creator 
                    value: values? values.message : "",
                }
            ]
        }
    },
    actions: {
        "id_of_action": {
            name: "Reaction Role",
            description: "Give user a role when reacts to a Message",
            //values will be null before user publish the Task
            options: (values) => [
                //Example option
                {
                    id: "message",
                    name: "Message",
                    description: "The message to be sent",
                    type: OptionTypes.Message_Create, //A Message/Embed Creator 
                    value: values? values.message : "",
                },
            ]
        }
    }
}

Multi Languages

Some fields support Multi Languages
You can see their type annotations to check about it

For those fields, you can use:

text = {
    zh: "Chinese",
    en: "English"
}

For now, we only supports English (en) or Chinese (zh).
You can use <Locale zh="Chinese" en="English" /> on some fields since they may supports JSXElement

the Template of Template

This Dashboard is Based on Horizon UI ⚡️

You might also like...

A chat logs online saver for discord bots to save messages history & cleared messages online

A chat logs online saver for discord bots to save messages history & cleared messages online

Chat Logs NPM package that saves messages online to view it later Useful for bots where users can save messages history & cleared messages online Supp

Dec 28, 2022

A base for developing Discord.js bots, written in TypeScript.

A base for developing Discord.js bots, written in TypeScript.

Nyx is a Discord bot template written in Typescript, supporting most of Discord.js' features alongside tools useful for bot development. 🇪🇸 README e

Dec 15, 2022

Store data using zero width spaces! Might be useful for discord bots.

Store data using zero width spaces! Might be useful for discord bots.

ZWSP Store data using zero width spaces! Might be useful for discord bots. Installation npm i zwsp Usage Import the library: import { encode, decode}

Dec 12, 2022

🤖 Makes it easy to create bots on discord through a simple command handler

🤖 Makes it easy to create bots on discord through a simple command handler

MyBotHelper.JS 📚 About facilitates the creation of bots via discord.js, the repository already has a main script that automatically synchronizes and

Dec 31, 2022

OBL is a free, libre and open source botlist for Discord, Revolt, Telegram and Guilded. No nfts,no web3,no daos. only bots lol

OBL (aka OpenBotList) Obl is a free,libre and open source botlist for Discord, Revolt, Telegram and Guilded that has free bananas ( Revolt, Telegram a

Sep 26, 2022

A Very Good Anti Nuke Bot that is better then those "premium" discord bots.

A Very Good Anti Nuke Bot that is better then those

AntiNuke AntiNuke Bot What is AntiNuke? A Open Source Discord Anti Nuke Bot to stop Raids, Nuking, and Mass Dms. ONLY THE RELEASE VERSION WORKS AT THE

Dec 29, 2022

A framewok for building efficient and scalable, cross-platform bots (WhatsApp, Discord, Telegram and more) in a single codebase

A framewok for building efficient and scalable, cross-platform bots (WhatsApp, Discord, Telegram and more) in a single codebase

project... An over-engineered all-in-one bot framewok for building efficient and scalable bots. Yep that's not a typo u heard it right "scalable bots"

Dec 24, 2022

AMP: is a fast admin dashboard template based on FastAPI

AMP: is a fast admin dashboard template based on FastAPI

AMP: is a fast admin dashboard template based on FastAPI Introduction AMP: is a fast admin dashboard template based on FastAPI. The project uses its o

Jan 1, 2023

Portal - Free Bootstrap 5 Admin Dashboard Template For Developers

Portal - Free Bootstrap 5 Admin Dashboard Template For Developers

Theme Details & Demo Demo: https://themes.3rdwavemedia.com/bootstrap-templates/admin-dashboard/portal-free-bootstrap-admin-dashboard-template-for-deve

Dec 22, 2022
Owner
MONEY
A student who learnt Typescript, Javascript, C#, Java, Kotlin, Python, Html and css and have many years of experience
MONEY
Hemsida för personer i Sverige som kan och vill erbjuda boende till människor på flykt

Getting Started with Create React App This project was bootstrapped with Create React App. Available Scripts In the project directory, you can run: np

null 4 May 3, 2022
Kurs-repo för kursen Webbserver och Databaser

Webbserver och databaser This repository is meant for CME students to access exercises and codealongs that happen throughout the course. I hope you wi

null 14 Jan 3, 2023
Dashboard skeleton Simple and fast dashboard skeleton template

Dashboard skeleton Simple and fast dashboard skeleton template. Installation npm install --save dashboard-skeleton-compostrap Version 1x built on Boo

Compostrap 9 Aug 23, 2022
a full functional discord bot to send moomoo.io bots

MooMooBot a discord bot which does moomoo.io stuff commands !send <server> <name> ex: !send 8:0:0 Nuro !token (generates a token to test if there's n

Nuro 4 Jun 1, 2022
A dashboard for managing Mineflayer bots, used for Hychat.

The dashboard uses Next.js and Chakra UI to create an interactive dashboard to manage Hypixel bot(s) and view chat logs. It also fetches messages from a back-end using an API (found in src/pages/api).

Hychat 2 Aug 2, 2022
Postgres.js - The Fastest full featured PostgreSQL client for Node.js and Deno

?? Fastest full-featured node & deno client ?? ES6 Tagged Template Strings at the core ??‍♀️ Simple surface API ??️ Dynamic query support ?? Chat and

Rasmus Porsager 4.3k Jan 1, 2023
Full featured JavaScript image & video gallery. No dependencies

lightgallery.js Full featured JavaScript lightbox gallery. No dependencies. Important notice lightgallery.js has been merged with lightGallery. That m

Sachin Neravath 5.2k Dec 30, 2022
A full-featured Solana Metaplex Candymachine client-side library in Typescript

Candymachine Client SDK A full-featured Solana Metaplex Candymachine client-side library in Typescript Disclaimer: The SDK is currently a pre-alpha ve

Boxfish Studio 36 Nov 10, 2022
Triumph Tech’s Magnus Editor is a full-featured remote editor for Rock RMS.

Magnus Visual Studio Code Editor for Rock RMS Triumph Tech’s Magnus Editor is a full-featured remote editor for Rock RMS. Rock RMS is an open source R

Triumph Tech 8 Nov 23, 2022