cabal-client ist eine neue Art von Kundenbibliothek für Cabal-Chat-Kunden.
Neue Chat-Clients können nur mit dieser Bibliothek implementiert werden, ohne sich mehr mit cabal-core herumspielen zu müssen.
Einige seiner Merkmale:
!status ) Ein paar kurze Beispiele finden Sie in den examples/ Verzeichnissen.
Eine Beispiel-Client-Implementierung finden Sie in cabal-cli .
Lesen Sie die API -Dokumentation
var Client = require ( 'cabal-client' )
const client = new Client ( {
config : {
dbdir : '/tmp/cabals'
}
} )
client . createCabal ( )
. then ( ( cabal ) => {
// resolves when the cabal is ready, returns a CabalDetails instance
} ) cabal-client hat drei Kernabstraktionen : Client , CabalDetails und ChannelDetails .
Client ist der Einstiegspunkt. Es verfügt über eine Liste von CabalDetails (eine details für jede beigetretene Cabal) sowie eine API für die Interaktion mit einer Kabale (eine Anzahl der neuen Nachrichten für einen Kanal erhalten, die Verbindungskanäle für den aktuellen Peer usw.).
CabalDetails ist die Instanz, an der Kunden hauptsächlich arbeiten, da sie alle Informationen für eine bestimmte Kabale zusammenfasst. (Schließen sich Kanäle an, Benutzer in diesem Kanal, dem Thema). Es gibt auch Ereignisse aus.
Wenn eine Änderung stattgefunden hat, nennt eine CabalDetails -Instanz this._emitUpdate() . Wenn ein Kunde dieses Ereignis erhält, sollte er seinen Status und seinen Ranender aktualisieren. (Schauen Sie sich heraus, wie die CLI es macht.)
ChannelDetails fasst alles Kanäle zusammen (Erwähnungen in diesem Kanal, Statusnachrichten für den Kanal (wie ein Befehls -EG /names , wenn es zuletzt gelesen wurde, wenn er derzeit angesehen wird, wenn er verbunden ist und so weiter). Es hat auch eine Barebones -Implementierung für virtuelle Kanäle, die derzeit nur der !status -Kanal ist.
Mit installiertem NPM ausführen
$ npm install cabal-client
Siehe die Anweisungen zum Erzeugen des Changelogs im Cabal-Core Readme.
AGPL-3.0-or-Later