vk-io-redis-storage
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);