Socket
Socket
Sign inDemoInstall

node-vk-bot-api

Package Overview
Dependencies
1
Maintainers
1
Versions
73
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

Comparing version 2.0.1 to 2.0.2

examples/scene.js

8

lib/session.js

@@ -11,9 +11,11 @@ class Session {

middleware() {
return async (ctx, next) => {
return (ctx, next) => {
const key = this.getSessionKey(ctx)
const session = this.store.get(key) || {}
let session = this.store.get(key) || {}
Object.defineProperty(ctx, this.key, {
get: () => session,
set: value => (session = value),
set: (value) => {
session = value
},
})

@@ -20,0 +22,0 @@

{
"name": "node-vk-bot-api",
"version": "2.0.1",
"version": "2.0.2",
"description": "🤖 Vk bot framework for Node.js",

@@ -5,0 +5,0 @@ "main": "lib/index.js",

@@ -216,4 +216,61 @@ [![node-vk-bot-api](https://img.shields.io/npm/v/node-vk-bot-api.svg?style=flat-square)](https://www.npmjs.com/package/node-vk-bot-api/)

## Stage
Scene manager.
```javascript
const VkBot = require('node-vk-bot-api/lib')
const Scene = require('node-vk-bot-api/lib/scene')
const Session = require('node-vk-bot-api/lib/session')
const Stage = require('node-vk-bot-api/lib/stage')
const bot = new VkBot({
token: process.env.TOKEN,
group_id: process.env.GROUP_ID,
})
const scene = new Scene('meet',
(ctx) => {
ctx.scene.next()
ctx.reply('How old are you?')
},
(ctx) => {
ctx.session.age = +ctx.message.text
ctx.scene.next()
ctx.reply('What is your name?')
},
(ctx) => {
ctx.session.name = ctx.message.text
ctx.scene.leave()
ctx.reply(`Nice to meet you, ${ctx.session.name} (${ctx.session.age} years old)`)
}
)
const session = new Session()
const stage = new Stage(scene)
bot.use(session.middleware())
bot.use(stage.middleware())
bot.command('/meet', (ctx) => {
ctx.scene.enter('meet')
})
bot.startPolling()
```
### API
#### Stage
* `constructor(...scenes)`: Register scenes
* `enter(name)`: Enter in scene
* `leave()`: Leave from scene
* `next()`: Go to the next step in scene
#### Scene
* `constructor(name, ...middlewares)`: Create scene
## License
MIT.
SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Packages

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc