2.0.0 • Published 3 years ago

roschat-bot-js-sdk v2.0.0

Weekly downloads
-
License
ISC
Repository
github
Last release
3 years ago

roschat-bot

JavaScript SDK для написания ботов для сервера РОСЧАТ. Описание протокола ботов.

Установка

Склонируйте git репозиторий

git clone https://github.com/roschat/roschat-bot-js-sdk
cd roschat-bot-js-sdk
npm install

Или установите с помощью NPM

npm install roschat-bot --save

Использование

Импортируйте класс RochatBot из модуля roschat-bot и создайте новый экземпляр класса

const { RoschatBot } = require('roschat-bot')
// Или если склонировали репозиторий, то в файле `./bot/index.js`
// const { RoschatBot } = require('../index')

const bot = new RoschatBot({
  config: {
    token: 'YOUR_BOT_TOKEN', // сгенерированый уникальный токен
    name: 'YOUR_BOT_NAME', // название бота
    baseUrl: 'https://example.com' // адрес сервера РОСЧАТ
  }
})

Для начала прослушивания событий используйте bot.start()

bot.start()
  .then(res => {
    // Обработчики событий сервера
  })
  .catch(error => {
    // Обработка ошибки при инициализации
  })

Пример API

Обработка входящего события от сервера

const { BOT_MESSAGE_EVENT, RoschatBot } = require('roschat-bot')
// ...
bot.on(BOT_MESSAGE_EVENT, (res) => {
  // Обработчики сообщения от пользователя
})

Событие "отправить сообщение"

bot.sendMessage({cid: 100}, 'Тестовое сообщение', callbackFunc)
// тоже самое что
bot.emit('send-bot-message', {cid: 100, data: 'Тестовое сообщение'}, callbackFunc)

Методы RoschatBot

Инициализация:

start(): new Promise

Инициализировать работу бота

Работа с сообщениями

on(BOT_MESSAGE_EVENT, function)

Событие bot-message-event - Уведомление о новом сообщении от пользователя (описание)

sendMessage({cid[, cidType, dataType, replyId]}, data[, callback])

Отправить сообщения пользователю (описание)

sendMessageReceived({id}[, callback])

Сообщить о получении сообщения пользователя (описание)

sendMessageWatched({id}[, callback])

Сообщить о просмотре сообщения пользователя (описание)

deleteBotMessage({id}[, callback])

Удалить сообщение в чате (описание)

Работа с клавиатурой

on(BOT_BUTTON_EVENT, function)

Событие bot-button-event - нажатие кнопки пользователем (описание)

setBotKeyboard({cid, keyboard[, action]})

Установить клавиатуру в чате с пользователем (описание)

Пример бота

В папке example можно найти реализацию бота для сервера РОСЧАТ с использованием данного SDK.

2.0.0

3 years ago