simpleshout/README.md

49 lines
1.3 KiB
Markdown
Raw Normal View History

2024-09-24 14:09:38 +00:00
# SimpleShout
2024-09-24 14:06:01 +00:00
2024-09-24 14:09:38 +00:00
A small chat box API for use on public websites.
## Features:
- Basic permissions: admin vs everyone else
- Message creation
2024-09-24 14:19:38 +00:00
- Discord style emoji: [example](https://github.com/NervN/discord-emojis/blob/main/assets/UnicodeEmojis.json), [emojibase](https://emojibase.dev/)
2024-09-24 14:09:38 +00:00
- Message deletion (admin)
- Message sanitization
- Keyword filtering
- Responsive web UI
2024-09-24 15:40:13 +00:00
- Embed/iframe-able
## API
2024-09-24 18:38:37 +00:00
- init: takes a cookie, returns a session if exits, else requests new session.
- channels: returns a list of channels and a preview message for each
- join: takes a username and channel, returns `init_scrollback` previous messages, a sync rate, and a client identifier, or an error if username exists/is not allowed, or channel does not exist
2024-09-24 15:40:13 +00:00
- sync: takes a client identifier and returns all unseen messages
- send: sends a message, returns a status
- login: accepts password, gives client admin perms if password is correct
- delete: takes an admin client identifier and a message id
- ban: bans a client
## Structs
- config
- admin_password
- ratelimit (req/min)
2024-09-24 15:40:48 +00:00
- `[banned_words]`
- `[banned_usernames]`
- `[banned_ips]`
2024-09-24 15:40:13 +00:00
- init_scrollback
- sync_rate
- message
- client_id
- timestamp
- body
- client
- client_id
- username
- ip_address
- admin_perms
- banned
- ratelimit