Update README
This commit is contained in:
parent
05eb852bb9
commit
59a611b05a
50
README.md
50
README.md
|
@ -246,7 +246,7 @@ For better integration with your website, the chat server exposes some data via
|
||||||
|
|
||||||
Current API endpoints include:
|
Current API endpoints include:
|
||||||
|
|
||||||
* `GET /api/statistics`
|
## GET /api/statistics
|
||||||
|
|
||||||
Returns basic info about the count and usernames of connected chatters:
|
Returns basic info about the count and usernames of connected chatters:
|
||||||
|
|
||||||
|
@ -257,7 +257,7 @@ Returns basic info about the count and usernames of connected chatters:
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
* `POST /api/blocklist`
|
## POST /api/blocklist
|
||||||
|
|
||||||
Your server may pre-cache the user's blocklist for them **before** they
|
Your server may pre-cache the user's blocklist for them **before** they
|
||||||
enter the chat room. Your site will use the `AdminAPIKey` parameter that
|
enter the chat room. Your site will use the `AdminAPIKey` parameter that
|
||||||
|
@ -293,6 +293,52 @@ The JSON response to this endpoint may look like:
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
|
# Webhook URLs
|
||||||
|
|
||||||
|
BareRTC supports setting up webhook URLs so the chat server can call out to _your_ website in response to certain events, such as allowing users to send you reports about messages they receive on chat.
|
||||||
|
|
||||||
|
Webhooks are configured in your settings.toml file and look like so:
|
||||||
|
|
||||||
|
```toml
|
||||||
|
[[WebhookURLs]]
|
||||||
|
Name = "report"
|
||||||
|
Enabled = true
|
||||||
|
URL = "http://localhost:8080/v1/barertc/report"
|
||||||
|
```
|
||||||
|
|
||||||
|
All Webhooks will be called as **POST** requests and will contain a JSON payload that will always have the following two keys:
|
||||||
|
|
||||||
|
* `Action` will be the name of the webhook (e.g. "report")
|
||||||
|
* `APIKey` will be your AdminAPIKey as configure in the settings.toml (shared secret so your web app can authenticate BareRTC's webhooks).
|
||||||
|
|
||||||
|
The JSON payload may also contain a relevant object per the Action -- see the specific examples below.
|
||||||
|
|
||||||
|
## Report Webhook
|
||||||
|
|
||||||
|
Enabling this webhook will cause BareRTC to display a red "Report" flag button underneath user messages on chat so that they can report problematic messages to your website.
|
||||||
|
|
||||||
|
The webhook name for your settings.toml is "report"
|
||||||
|
|
||||||
|
Example JSON payload posted to the webhook:
|
||||||
|
|
||||||
|
```javascript
|
||||||
|
{
|
||||||
|
"Action": "report",
|
||||||
|
"APIKey": "shared secret from settings.toml#AdminAPIKey",
|
||||||
|
"Report": {
|
||||||
|
"FromUsername": "sender",
|
||||||
|
"AboutUsername": "user being reported on",
|
||||||
|
"Channel": "lobby", // or "@username" for DM threads
|
||||||
|
"Timestamp": "(stringified timestamp of chat message)",
|
||||||
|
"Reason": "It's spam",
|
||||||
|
"Comment": "custom user note about the report",
|
||||||
|
"Message": "the actual message that was being reported on",
|
||||||
|
}
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
BareRTC expects your webhook URL to return a 200 OK status code or it will surface an error in chat to the reporter.
|
||||||
|
|
||||||
# Tour of the Codebase
|
# Tour of the Codebase
|
||||||
|
|
||||||
This app uses WebSockets and WebRTC at the very simplest levels, without using a framework like `Socket.io`. Here is a tour of the codebase with the more interesting modules listed first.
|
This app uses WebSockets and WebRTC at the very simplest levels, without using a framework like `Socket.io`. Here is a tour of the codebase with the more interesting modules listed first.
|
||||||
|
|
|
@ -57,6 +57,7 @@ func (s *Server) ProcessCommand(sub *Subscriber, msg Message) bool {
|
||||||
"* `/deop <username>` to remove operator rights from a user\n" +
|
"* `/deop <username>` to remove operator rights from a user\n" +
|
||||||
"* `/shutdown` to gracefully shut down (reboot) the chat server\n" +
|
"* `/shutdown` to gracefully shut down (reboot) the chat server\n" +
|
||||||
"* `/kickall` to kick EVERYBODY off and force them to log back in\n" +
|
"* `/kickall` to kick EVERYBODY off and force them to log back in\n" +
|
||||||
|
"* `/reconfigure` to dynamically reload the chat server settings file\n" +
|
||||||
"* `/help` to show this message\n\n" +
|
"* `/help` to show this message\n\n" +
|
||||||
"Note: shell-style quoting is supported, if a username has a space in it, quote the whole username, e.g.: `/kick \"username 2\"`",
|
"Note: shell-style quoting is supported, if a username has a space in it, quote the whole username, e.g.: `/kick \"username 2\"`",
|
||||||
))
|
))
|
||||||
|
|
Loading…
Reference in New Issue
Block a user