# SimpleShout A small chat box API for use on public websites. ## Features: - Basic permissions: admin vs everyone else - Message creation - Discord style emoji: [example](https://github.com/NervN/discord-emojis/blob/main/assets/UnicodeEmojis.json), [emojibase](https://emojibase.dev/) - Message deletion (admin) - Message sanitization - Keyword filtering - Responsive web UI - Embed/iframe-able ## API - 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 - 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) - `[banned_words]` - `[banned_usernames]` - `[banned_ips]` - init_scrollback - sync_rate - message - client_id - timestamp - body - client - client_id - username - ip_address - admin_perms - banned - ratelimit