Skip to content

botmasterai/botmaster-session-ware-redis-store

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Botmaster Session Ware Redis Store

Build Status Coverage Status npm-version license

This is the Redis store adapter for the botmaster-session-ware middleware.

Install

yarn add botmaster-session-ware-redis-store

or with npm

npm install --save botmaster-session-ware-redis-store

Note

This package is an adapter for botmaster-session-ware: https://github.com/botmasterai/botmaster-session-ware

API

RedisStore

Using this adapter along with the botmaster-session-ware middleware will store sessions in redis rather than use the default in memory store which should not be used in production

Parameters

Examples

const Botmaster = require('botmaster');
// Using this socket.io bot class for the sake of the example
const SocketioBot = require('botmaster-socket.io');
const SessionWare = require('botmaster-session-ware');
const SessionWareRedisStore = require('botmaster-session-ware-redis-store');

const botmaster = new Botmaster();
botmaster.addBot(new SocketioBot({
  id: 'botId',
  server: botmaster.server,
}));

// declaring middleware

botmaster.use({
  type: 'incoming',
  name: 'my-awesome-middleware',
  controller: async (bot, update) => {
    // this will be {} on the first call from a certain user
    // and will contain the last message upon all the next iterations
    console.log(update.session);

    update.session.lastMessage = update.message;
  }
})

// This will make our context persist throughout different messages from the
// same user
const sessionWare = new SessionWare({ adapter: new SessionWareRedisStore() });
botmaster.useWrapped(sessionWare.incoming, sessionWare.outgoing);

get

Get or create a session with the id.

Parameters

  • id String a unique id for the session

Returns Promise evaluates to an object that is the session

set

Update a session in the storage.

Parameters

  • id String a unique id for the session
  • value Object the new value for the session

Returns Promise resolves when the session has been saved

About

Redis store adapter for the botmaster session ware

Resources

License

Stars

Watchers

Forks

Packages

No packages published