lila-chat/README.md

51 lines
1.8 KiB
Markdown

# Chat Registration System
A simple chat system for built for maya's livestream.
Provides a simple API for user authentication, and chat functions.
Frontend & backend code stored here.
## Implemented Features:
- [x] Basic auth API
- [x] Return json instead of string
- "status" shows wether request was succesful or not, either "ok" or "fail"
- "reason" is for more details, mainly just for debugging?
- [x] Basic messaging system
- [x] Finish up `chat::create_message()`
- [x] Create `chat::fetch_messages()`
- [x] Use unix timestamp for date
- [x] Switch to using sled database to store users
- [x] Error handling
- [x] Token generation & storage
- [x] Sets cookie
- [x] Store token in json
- [x] Have cookie expire
- [x] Remove old cookie
- [x] Use token for most stuff
- [x] Logout API
- [x] Fail on NULL token
- [x] Pronouns
- [x] Set pronouns
- [x] Change pronouns
- [x] make changed_event Enum, use token instead of pin
## To-Do:
- [x] Better messaging system
- [ ] Use websockets for chat [issue#3](https://git.lavender.software/erin/lila-chat/issues/3)
- [ ] Create `chat::delete_message()`
- [ ] Display pronouns [issue#4](https://git.lavender.software/erin/lila-chat/issues/4)
- [ ] Various database improvements [issue#1](https://git.lavender.software/erin/lila-chat/issues/1)
- [ ] Improve error handling on write functions
- [ ] Allow for asyncronous reading/writing
- [ ] Some form of plural support?
- [ ] User management (banning, etc.)
- [x] User roles (admin, mod, etc.)
- [ ] Commands to affect users [issue#2](https://git.lavender.software/erin/lila-chat/issues/2)
- [ ] Blacklist words from chat/names
- [ ] More advanced chat features
- [x] Different types of message events? eg. default, announcement, command
- [ ] Types will display differently? eg. announcements pinned to top?
- [ ] Have different commands?
- [ ] Emote support?