Chat Engine is a free serverless chat API.
Try our free plan at chatengine.io
Add serverless chat to your React app in 3 minutes.
-
Register then create a project and user at chatengine.io
-
Collect the public key, username and user password
-
Install
yarn add react-chat-engine -
Import the
ChatEnginecomponent and pass inpublicKey,userName, anduserSecretprops -
Voila! You're done
EXAMPLE: Your implementation should look like the following
import React from 'react'
import { ChatEngine } from 'react-chat-engine'
export function App() {
return (
<ChatEngine
publicKey={'b75e5bd5-cd84-404c-b820-06feff8c98c0'}
userName={'john_smith'}
userSecret={'secret_1234'}
/>
)
}- Authenticate users
- Subscribe (connect) to incoming chats and messages
- Create chats and messages
- Add and remove people from chats
- Edit and delete chat and message data
publicKey(UUID REQUIRED) - Public API key for your chatengine.io projectuserName(String REQUIRED) - Username of a person in this projectuserSecret(String REQUIRED) - Set a secret for this person and use it to authenticate.onConnect(Function) - Callback when the connection/authentication is completeonFailAuth(Function) - Callback when the connection/authentication failsonGetChats(Function) Callback when the person fetches their chats arrayonNewChat(Function) - Callback when the person creates a new chatonEditChat(Function) - Callback when the person edits a chat titleonDeleteChat(Function) - Callback when the person deletes one of their chats (must the chat's admin)onAddPerson(Function) - Callback when a person is added to a chatonRemovePerson(Function) - Callback when a person is removed/deleted from a chatonGetMessages(Function) - Callback when the person gets a chat's messagesonNewMessage(Function) - Callback when a person posts a new message in one of the chatsonEditMessage(Function) - Callback when a person edits a new message in one of the chatsonDeleteMessage(Function) - Callback when a person deletes a new message in one of the chatshideUI(Boolean) - Hides all UI components for a custom implementation (Warning: Advanced)
import { functionName } from 'react-chat-engine'
...
functionName(conn, args)
getChats(conn) => void - Get a person's array of chatsnewChat(conn, title) => void - Create a new chat with this person as admineditChat(conn, chatId, chatObj) => void - Edit the title of an existing chatdeleteChat(conn, chatId) => void - If you're admin, delete this existing chataddPerson(props, chatId, userName) => void - Add an existing person (in the project) to an existing chatremovePerson(props, chatId, userName) => void - If you're admin, remove this user from an existing chatgetMessages(props, chatId) => void - Get the messages for an existing chatsendMessage(props, chatId, messageObj) => void - Send a new message object into this chateditMessage(props, chatId, messageId, messageObj) => void - Edit an exiting message object in this chatdeleteMessage(props, chatId, messageId) => void - Delete an exiting message object from this chat
id(int) - Unique primary key to identify this chatadmin(String) - Unique username of the person who created this chattitle(String) - Optional title of this chatcreated(Datetime) - Date-time of chat creationpeople(Array) - Array of people added to this chat
{
"id": 1,
"admin": "john_smith",
"title": "Canada Day Party!",
"created": "2020-09-05T20:28:22.352373Z",
"people": [
{
"person": "john_smith"
}
]
}
person(String) - Unique username of a person involved in this chat
{ person: "john_smith" }
id(int) - Unique primary key to identify this messagesender(String) - Unique username of the person who sent this messagetext(String) - Contents of the message sentcreated(Datetime) - Date-time of message creation
{
"id": 1,
"sender": "john_smith",
"text": "Hey let's party!",
"created": "2020-09-07T13:20:26.936400Z"
}