Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Dieser Artikel zeigt, wie man Nachrichten an einen Raum sendet und dessen Verlauf mit dem Client-SDK liest. Von deinem Server aus kannst du Nachrichten auch mit der REST-API lesen, bearbeiten und löschen.
Die Client-SDK-Snippets setzen voraus, dass bereits eine Verbindung mit client besteht. Informationen zum Herstellen einer Verbindung finden Sie unter Erste Schritte.
Abonnieren Sie Nachrichten
Behandle das message Ereignis, um Nachrichten in Echtzeit zu empfangen. Es wird bei neuen Nachrichten in den Chats, zu denen du gehörst, ausgelöst, einschließlich der Nachrichten, die du sendest.
client.on("message", (event) => {
const message = event.message;
console.log(`[${event.roomId}] ${message.createdBy}: ${message.content.text}`);
});
Der Handler liefert nur Nachrichten, die eintreffen, nachdem du ihn abonniert hast, also registriere ihn, bevor du sendest. Frühere Nachrichten werden nicht wiederholt; Um diese zu laden, lesen Sie den Nachrichtenverlauf.
Senden einer Nachricht
Sende eine SMS an einen Raum mit sendToRoom. Es gibt die ID der neuen Nachricht zurück. Die maximale Größe des Nachrichteninhalts beträgt 64KB.
const result = await client.sendToRoom(room.roomId, "Hello, team!");
console.log(`Sent message ${result.messageId}`);
Nachrichtengeschichte lesen
Lesen Sie die vergangenen Nachrichten eines Raums mit listRoomMessages. Es wird ein asynchroner Iterator zurückgegeben, der für Sie durch den Verlauf des Raums blättert.
for await (const message of client.listRoomMessages(room.roomId)) {
console.log(`${message.createdBy}: ${message.content.text}`);
}
Um die Paginierung selbst zu steuern, zum Beispiel um mehr Nachrichten zu laden, wenn der Nutzer scrollt, verwenden Sie byPage.
Jede Seite ist ein Array von Nachrichten.
const pages = client.listRoomMessages(room.roomId).byPage({ maxPageSize: 50 });
for await (const page of pages) {
for (const message of page) {
console.log(`${message.createdBy}: ${message.content.text}`);
}
}
Um eine Reichweite zu lesen, übergebe startId oder endId. Beide sind Nachrichten-IDs.
const messages = client.listRoomMessages(room.roomId, { startId: "<message-id>" });
Verwalten Sie Nachrichten von Ihrem Server
Dein Server kann mit der Nachrichtenhistorie über die Chat REST API arbeiten, für Moderation, Auditing und andere Backend-Aufgaben. Es kann Nachrichten lesen, bearbeiten und löschen.
Note
Nachrichten gehören zu einer Konversation (jeder Raum hat eine Standard-ID), daher nehmen die Nachrichtenendpunkte eine Konversations-ID statt einer Raum-ID an. Rufen Sie die Standardkonversation eines Raums über seine defaultConversation-Eigenschaft ab, die zurückgegeben wird, wenn Sie den Raum über die REST-API abrufen.
Für Endpunkte, Anfrageformate und Authentifizierung siehe Chat-SDKs und REST API.