not ready yet obviously (check projects)
Find a file
SileNce5k 564768d32c
Improve login
Remove duplicate ejs file for easier development
2025-01-26 08:56:25 +01:00
backend Improve login 2025-01-26 08:56:25 +01:00
frontend Improve login 2025-01-26 08:56:25 +01:00
.gitignore Initial Commit 2025-01-10 18:53:32 +01:00
package-lock.json Add ejs-lint to dev dependencies 2025-01-26 08:37:56 +01:00
package.json Add ejs-lint to dev dependencies 2025-01-26 08:37:56 +01:00
README.md Initial Commit 2025-01-10 18:53:32 +01:00

Plans for this discord bot management project

  • Use node.js backend
  • Need the ability to login.
  • One backend can have multiple bots
  • The bots will be in a tab or something similar
  • Control bots:
    • Restart bot
    • Update bot
    • Change config
    • Backup data/ dir (gzip, then download)
    • Restore data/ dir (upload gzipped archive)
    • Check if the server can be put down for maintenance (check if there are timers in the near future (hour))
    • Add a new bot
    • Download logs (specify time range & file format (gzip or plain))
    • Ability to see a log equivalent to journalctl -fu discord_bot.service
    • Statistics (uptime, amount of commands, last error, commands per hour, commands last 24 hours etc..., )

Bots will have an internal api that they communicate with the backend server over.
Using websockets for the follow log is probably best?

Misc Thoughts

  • Check if there are any software updates? If there are, send email?

First priority:

  • Create a basic html page.

SQLITE SCHEMAS

TODO: Figure out how to implement permissions and stuff in a good way

CREATE TABLE users (
	user_id INTEGER PRIMARY KEY AUTOINCREMENT,
	username TEXT UNIQUE,
	hashed_password TEXT,
	email TEXT,
	created_at INTEGER,
	is_verified INTEGER,
	is_administrator INTEGER
);

CREATE TABLE tokens (
	token PRIMARY KEY UNIQUE,
	user_id INTEGER,
	expires_at INTEGER
);

CREATE TABLE discord_bots ( 
	id INTEGER PRIMARY KEY AUTOINCREMENT,
	owner_id INTEGER,
	is_public INTEGER,

);