Git Product home page Git Product logo

botact-longpoll-micro's Introduction

node-vk-bot-api node-vk-bot-api

node-vk-bot-api

API for VK bots, based on Long Poll.

Install

$ npm i node-vk-bot-api

Example

const API = require('node-vk-bot-api')

const bot = new API(process.env.TOKEN)

bot.command('start', ({ reply }) => reply('This is start!'))
bot.hears(/(car|tesla)/, ({ reply }) => reply('I love Tesla!'))
bot.on(({ reply }) => reply('What?'))

bot.listen()

Methods

constructor(options)

Parameter Type Required
token string yes

Create bot.

const bot = new API(process.env.TOKEN)

.use(callback)

Parameter Type Required
callback function yes

Add middleware.

bot.use(ctx => ctx.date = new Date())

bot.on(({ date }) => {
  // Fri Nov 24 2017 16:00:21 GMT+0300 (MSK)
})

.command(command, callback)

Parameter Type Required
command string yes
callback function yes

Add command w/ strict match.

bot.command('start', ({ reply }) => reply('This is start!'))

.hears(command, callback)

Parameter Type Required
command string/regexp yes
callback function yes

Add command w/ match like RegEx.

bot.hears(/(car|tesla)/, ({ reply }) => reply('I love Tesla!'))

.on(callback)

Parameter Type Required
callback function yes

Add reserved callback.

bot.on(({ reply }) => {
  reply('What?')
})

.listen()

Start listen.

Context Methods

.reply(peer_id, message, attachment, callback)

Parameter Type Requried
user_id number or array yes
message string yes (no, if setten attachment)
attachment string yes (no, if setten message)
callback function no

Send a message to user.

bot.command('start', (ctx) => {
  // with shortcut from context
  ctx.reply('Hi, this is start!')
  // function from context
  ctx.sendMessage(ctx.peer_id, 'Hi, this is start!')
  // simple usage
  bot.reply(ctx.peer_id, 'Hi, this is start!')
})

License

MIT.

botact-longpoll-micro's People

Contributors

antosik avatar ibakaidov avatar pelmeh avatar seitbekir avatar spb-web avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.