You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
76 lines
1.9 KiB
76 lines
1.9 KiB
import { Meta } from '@storybook/addon-docs'; |
|
import { Typography } from 'antd'; |
|
import UserChatMessage from '../components/chat/ChatUserMessage'; |
|
import { ChatMessage } from '../interfaces/chat-message.model'; |
|
|
|
<Meta title="Owncast/Documentation/Chat" /> |
|
|
|
<Typography.Title style={{color: 'var(--primary-color)'}}>Owncast Chat</Typography.Title> |
|
|
|
The Owncast chat is a websocket service that is authenticated with an access token. |
|
|
|
The chat user interface has a handful of different states. |
|
|
|
# App states |
|
|
|
## Offline (stream is not live) |
|
|
|
- The entire chat UI is hidden. |
|
|
|
## Online (stream is live) |
|
|
|
- The chat interface is visible. |
|
|
|
### Online + chat is disconnected |
|
|
|
- Show a loading state within the chat component. |
|
- Disable the text input box. |
|
|
|
## Banned from chat |
|
|
|
- The entire chat UI is hidden. |
|
|
|
|
|
## Stream ended |
|
|
|
- Chat is visible for the next 5 minutes to allow viewers to say goodbye. |
|
- Also allows for chat to stay active in case the streamer wants to quickly |
|
restart their stream or there's a network blip. |
|
|
|
## Chat Disconnected |
|
|
|
If chat server is not available (websocket disconnects/not available for some reason) |
|
then the chat input box should become disabled and placeholder should say chat is not availble. |
|
|
|
# Message types |
|
|
|
## User chat message |
|
|
|
The message that is displayed when a chat user sends a message. |
|
|
|
## System message |
|
|
|
A message sent from the server. Is commonly used for |
|
|
|
- Welcome message. |
|
- An external script or integration sending a message on behalf of the server. |
|
|
|
## Action message |
|
|
|
A message saying an action has taken place. Is commonly used for |
|
|
|
- User joined. |
|
- User was banned. |
|
- User changed name. |
|
- Stream is starting. |
|
- Stream is ending. |
|
- An external script or integration sending an action. |
|
|
|
## Federated action message |
|
|
|
A message stating that somebody on the Fediverse performed an action. |
|
It is used for: |
|
|
|
- User "liked" that the steam went live. |
|
- User followed the instance. |
|
- User shared the instance to their followers. |