SuperiorJT / discord-everything-bot

Discord bot intended to be a self-hosted replication of MEE6. WIP

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

discord-everything-bot

Discord bot intended to be a self-hosted replication of MEE6. WIP

The bot is currently named "Bingus Bot". Don't ask...

Feature Checklist

  • Welcome
    • Message when user joins
    • DM when user joins
    • Assign roles when user joins
    • DM when user leaves
  • Custom Commands
  • (WIP) Reaction Roles
  • Moderator
    • Moderator Roles
    • Audit Logging
    • AutoMod
    • AutoMod Actions
    • Restricted Channels
    • Commands
  • Music

Setup

Until containers are setup, it's best to run the two services separately.

In fact, I'm confident that it currently only works in a dev environment.

Environment Config

You need a .env file for each project.

The server project needs the following environment variables:

  • DISCORD_TOKEN - Your Discord Application token
  • DISCORD_APP_ID - Your Discord Application ID
  • DATABASE_URL - The path to your sqlite db file. Format: "sqlite:"
  • DEFAULT_GUILD_ID - Currently the bot only works with one guild, the id for that guild should be entered here
  • IMGUR_CLIENT_ID - To avoid having to manage image hosting ourselves, you can enter an imgur client id here to host there.

There is currently no other way to send images in embeds without offloading hosting to imgur.

The ui project needs the following environment variables:

  • VITE_DEFAULT_GUILD_ID - Currently the bot only works with one guild, the id for that guild should be entered here

API

IMPORTANT: The twilight-rs dependencies are pulled from local path for debugging purposes. Clone twilight into a directory that is a sibling of this project directory before running.

Currently the database is sqlite. Migrations aren't implemented yet, so an empty db file is included. To run the server, just start with cargo.

$ /server> cargo run

UI

The UI is built with Sveltekit. Run the dev server to get started.

$ /ui> npm i

$ /ui> npm run dev

From this point you should be able to navigate to localhost:3000 and start playing around with the UI.

About

Discord bot intended to be a self-hosted replication of MEE6. WIP

License:Other


Languages

Language:Rust 63.8%Language:Svelte 31.6%Language:TypeScript 2.3%Language:JavaScript 1.9%Language:HTML 0.2%Language:CSS 0.2%