discord_bot_mgmt/README.md
SileNce5k c0af804da1
Initial Commit
Just the very very basics are there now. It is not usable at all yet though.
2025-01-10 18:53:32 +01:00

57 lines
No EOL
1.5 KiB
Markdown

# 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
```sql
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,
);
```