Skip to content

bot-astro/astro-bot.space

Repository files navigation

astro-bot.space

Astro is the most unique and complete discord bot for temporary voice channels and voice roles!

This repository contains the code for the frontend of the bot.

Other repositories:

Resources:

Table of Contents

About The Project

I initially built this bot for my friends Discord, but then it grew way beyond my expectations.
You can read the story of this project on my blog post!

Warning

I do not provide support for self-hosting the bot.

Development

Prerequisites

  • Node.js v22 or higher
  • pnpm (or any other package manager is fine)
  • Typescript

Understanding the codebase

Note

This is a standard Nuxt3 project, refer to the framework documentation for more info.

Design and CSS with Tailwind. Inspiration for simple components can be gathered with shadcn-vue.

Store management with vue-query.

Icon management with Nuxt Icon. Icons can be browsed on Icones.

General utilities from VueUse. Most of the general requirements can be solved with this library.

User authentication and redirect logic

This is a bit tricky, so I made a couple of diagrams to explain the login flow and the server add flow:

login flow

server-add flow

Running the application

  1. Create the development .env file
    The /env folder contains a .env.template.
    Create a .env file in the root directory of the project and copy both the content of /env/.env.template inside it.
  2. Fill the .env file, each variable has a comment explaining what it does.
  3. Run in dev mode:
    pnpm run dev

You will get instructions on how to access the website for local dev in the terminal logs.

Deployment

Warning

I do not provide support for self-hosting the bot.

Prerequisites

  • A fork of this repository
  • Cloudflare account

Setup Cloudflare worker

This web app should be deployed via nitro on Cloudflare workers. This allows cheap server-side rendering.
Follow this guide for deployment instructions.

Important

Remember to provide the worker with the environment variables required.
You can see the required env variables and a description of them in /env/.env.template.

(back to top)

Contributing

If you have an idea, please fork the repo and create a pull request. You can also simply open an issue with the tag "enhancement". Don't forget to give the project a star! Thanks again!

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your Changes (git commit -m 'Add some AmazingFeature')
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

(back to top)

Top contributors:

contrib.rocks image

License

Distributed under the AGPL-3.0 license. See LICENSE.txt for more information.

(back to top)

Contact

(back to top)

About

Website and dashboard for Astro, the Discord bot

Topics

Resources

License

Stars

Watchers

Forks

Contributors 2

  •  
  •