Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

vk-chat-bot

Package Overview
Dependencies
Maintainers
1
Versions
140
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

vk-chat-bot

A library for easy creation of chat bots for VK communities (uses Callback API).

  • 10.0.2
  • Source
  • npm
  • Socket score

Version published
Weekly downloads
2
decreased by-98.62%
Maintainers
1
Weekly downloads
 
Created
Source

VK Chat Bot

npm version Downloads Travis build status JavaScript Style Guide

This is a chat bot library for VK communities (groups).
See the wiki for description of all features.
Changelog is available here.

Features

  • Easy to use - setting up behavior is simple - see Behavior setup
  • Respects the quota - the library calls VK API not more then 20 times/second, so you don't exceed the quota

Usage

Installation
npm i vk-chat-bot
Example

You can find the example in the vk-chat-bot-example repository.
Also, you can take a look at the step-by-step Heroku Deploy Guide.

Quick Start
1. Preparation

First, require() the library:

const vk = require('vk-chat-bot')

Then, create your bot using the vk.bot function (see Params object for more information about params):

var params = {
  vk_token: 'your_vk_access_token',
  confirmation_token: 'f123456',
  group_id: 1234567,
  secret: 's3r10us1y_s3cr3t_phr4s3',
  port: 12345,

  cmd_prefix: "/"
}

var {bot, core} = vk.bot(params)
2. Behavior setup

See Core wiki to learn more about behavior functions.
Here are some examples:

// No matching handler is found
core.on('no_match', $ => {
  $.text("I don't know how to respond to your message.")
})
var Keyboard = vk.kbd.Keyboard
var Button = vk.kbd.Button
var colors = vk.kbd.colors

core.cmd('keyboard', $ => {
  // Set 'true' instead of 'false' to make it disapper after a button was pressed
  var kbd = new Keyboard([
    // Rows
    [
      new Button('Default'),
      new Button('Primary', colors.primary),
      new Button('Negative', colors.negative),
      new Button('Positive', colors.positive)
    ],
    [
      new Button('Maximum rows is 10, columns - 4.')
    ],
  ], false)

  $.text('Here is your keyboard, as promised.')
  $.keyboard(kbd)
})
// Searches for cmd_prefix + 'help', e.g. "/help"
core.cmd('help', $ => {
  // bot.help() returns the help message
  $.text('Test Bot v1.0' + core.help())

  // Attach an image from
  // https://vk.com/team?z=photo6492_45624077
  $.attach('photo', 6492, 456240778)
}, 'shows the help message')
// Use case-insensitive regex to find words "hi", "hello" or "hey"
core.regex(/h(i|ello|ey)/i, $ => {
  $.text('Hello, I am a test bot. You said: ' + $.msg)
})
3. Start it!

Start the bot:

bot.start()

The bot will log some useful information, see Logging wiki for more information.

Contributing

  • Having issues?
    Found a bug?
    Something does not seem right?
    Or you have a feature request?
    Open an issue.

  • You know how to make vk-chat-bot better?

    • Fork the repository.
    • Clone the fork to your computer:
      git clone git@github.com:username/vk-chat-bot
      
    • Make your changes.
    • Stage files, commit them, and push the commit to your fork:
      git add *
      git commit -m "Small description of what you changed"
      git push -u origin master
      
    • Open a pull request!

License

This project is licensed under the terms of the MIT license.

Keywords

FAQs

Package last updated on 08 Jul 2018

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

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

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc