Skip to content

ishmam-mahmud/lumafly-bot

Repository files navigation

Lumafly

A bot designed for The Asexual and Aromantic Spectrum Discord

Lumafly started out with a need for better managing roles in Discord. AASD heavily uses roles as labels that allows users to identify themselves. This quickly spiraled into a huge variety of identities and accompanying roles to support, under very broad umbrellas such as Sexuality, Romantic Attraction, Gender and so on. Before AASD used Ub3r to allows users to assign themselves these roles. The .roles command of Uber would dump a huge, comma-separated list of all the roles that were supported, in as many Discord messages as needed. There was no organization, no colors used and no clear separation between roles of different categories, making the whole process fall low on the accessibility scale. Many users would default to requesting the moderators to set the roles for them instead. So Lumafly was born. Named after the Lumafly Lantern tool from Hollow Knight, it aims to have custom implementations of all the features that AASD could ever want from a Discord bot, all for free.

Getting Started

These instructions will get you a copy of the project up and running on your local machine for development and testing purposes.

Onboarding

Make sure you have access to the

You will also need a PostgreSQL client of your choice to manage your local database. I would recommend any of the following, depending on what you are comfortable with:

  • psql - This will be available within the Docker image for postgres itself.
  • pgAdmin - A more-or-less terrible/good client available on all platforms
  • Postico - The same as the last one, but specific to MacOS
  • Use whatever external third party postgres you want instead, be it Heroku or Supabase or whatnot, and comment out the db image in docker-compose.yaml and set the correct envs in .env.base

Database setup

Pick one of the following for setting up a local Postgres instance

If you pick Docker, follow the guide below

Setting up a local Docker database

Run the following command to start a local instance of Postgres

docker run -e POSTGRES_PASSWORD=<your wanted password> -e POSTGRES_DB=postgres -p 5432:5432 -d postgres

Setting envs

Setup the .envrc file first

cp .envrc.example .envrc

Edit the resulting .envrc and set your envs as you need

Installing

Install node dependencies.

bun install

Start the bot, with hot-reloading enabled as you code

bun dev

Interact with the bot in the server and test your changes. You can modify the seed data in the database using one of the postgres clients mentioned earlier.

Testing

Not yet implemented

Built with

Contributing

Please read CONTRIBUTING.MD for more information.

Versioning

Versioning is currently arbitrary af and used to differentiate between different Docker images for Lumafly. Do not worry about this right now.

About

A bot for The Asexual and Aromantic Spectrum Discord

Resources

License

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published