cabal-client est un nouveau type de bibliothèque client pour les clients de Cabal Chat.
De nouveaux clients de chat peuvent être implémentés en utilisant uniquement cette bibliothèque, sans avoir à jouer avec cabal-core .
Certaines de ses caractéristiques:
!status ! Pour quelques brefs exemples, consultez les examples/ répertoire.
Voir cabal-cli pour un exemple de mise en œuvre du client.
Lire la documentation de l'API
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 a trois abstractions centrales : Client , CabalDetails et ChannelDetails .
Client est le point d'entrée. Il a une liste de CabalDetails (un details pour chaque cabale rejoint) ainsi qu'une API pour interagir avec une cabale (obtenir un compte des nouveaux messages pour un canal, les canaux joints pour le pair actuel, etc.).
CabalDetails est l'exemple sur lequel les clients opèrent principalement, car il encapsule toutes les informations pour une cabale particulière. (joint canaux, utilisateurs de ce canal, le sujet). Il émet également des événements.
Lorsqu'un changement s'est produit, une instance CabalDetails this._emitUpdate() . Lorsqu'un client reçoit cet événement, il doit mettre à jour son état et son remender. (Découvrez comment la CLI le fait.)
ChannelDetails résume tout les canaux (mentionne dans ce canal, messages d'état pour la chaîne (comme avoir appelé une commande par /names , lors de la dernière lecture, s'il est actuellement visualisé, s'il est joint et ainsi de suite). Il a également une implémentation nue pour les canaux virtuels, qui n'est actuellement que la chaîne !status Uniquement.
Avec le NPM installé, exécutez
$ npm install cabal-client
Voir les instructions pour générer le Changelog dans le Cabal-Core Readme.
AGPL-3.0-Or-Later