vk-io-redis-storage
TypeScript icon, indicating that this package has built-in type declarations

1.1.0 • Public • Published

vk-io-redis-storage

NPM version NPM downloads

RedisStorage - Simple add-on for Session vk-io library

Powered by ioredis

Installation

Yarn

yarn add vk-io-redis-storage

NPM

npm i vk-io-redis-storage

Example usage

const { VK } = require('vk-io');
const { SessionManager } = require('@vk-io/session');
const { RedisStorage } = require('vk-io-redis-storage');

const vk = new VK({
    token: process.env.TOKEN
});

function startBot({ updates }) {
    // const storage = new RedisStorage([ioRedisClient]);
    const storage = new RedisStorage({ host: '127.0.0.1', keyPrefix: 'vk-io:session:' });

    const sessionManager = new SessionManager({
        storage,
        getStorageKey: (ctx) =>
            ctx.userId ? `${ctx.userId}_${ctx.userId}` : `${ctx.peerId}_${ctx.senderId}`,
    });

    updates.on('message', sessionManager.middleware);

    updates.hear('/counter', (ctx) => {
        if (ctx.isOutbox) return;

        const { session } = ctx;

        session.counter = (session.counter || 0) + 1;

        ctx.send(`You turned to the bot (${session.counter}) times`);
    });

    updates.start().catch(console.error);
}

// ...
startBot(vk);

Package Sidebar

Install

npm i vk-io-redis-storage

Weekly Downloads

3

Version

1.1.0

License

MIT

Unpacked Size

5.91 kB

Total Files

6

Last publish

Collaborators

  • xtcry