1.2.7 • Published 6 years ago

spotted v1.2.7

Weekly downloads
50
License
-
Repository
-
Last release
6 years ago

spotted · npm npm

$ npm install spotted

Библиотека для быстрого и простого создания ботов для сообществ ВКонтакте.

Включает в себя сервер для обработки приходящих от ВКонтакте запросов и клиент для вызова методов API ВКонтакте.

Клиент позволяет вызывать открытые методы и методы, доступные с ключом доступа сообщества, а также загружать файлы в сообщество: обложку, документы и фотографии.

Документация

spotted()

Возвращает экземпляр класса Application.

Application

app.run(options)

Запускает сервер для обработки входящих запросов.

Options

Свойства объекта options и их значения по умолчанию.

{
  port: 8080 // <Number> Порт
}

app.setCommunity(community)

Устанавливает данные сообщества.

Community

Свойства объекта community.

{
  accessToken,      // <String> Ключ доступа сообщества
  confirmationCode, // <String> Код подтверждения адреса сервера из настроек сообщества
  secretKey         // <String> Секретный ключ сообщества (если используется)
}

Client

При установке данных сообщества (app.setCommunity) экземпляр Client создаётся автоматически, а после хранится в переменной app.client.

client.call(method, params)

  • method<String> Название метода
  • params<Object> Параметры метода
  • Returns Promise<Any>

Вызывает методы API ВКонтакте.

При этом, метод не вызывается сразу, а помещается в очередь. Методы, находящиеся в очереди, отправляются на сервер ВКонтакте «пачками» и вызываются через execute.

client.callDirect(method, params)

  • method<String> Название метода
  • params<Object> Параметры метода
  • Returns Promise<Any>

В отличие от client.call вызывает методы в обход очереди.

client.upload(type, file[, params, afterUploadParams])

  • type<String> Тип загрузки
  • file<Any> Файл к загрузке
  • params<Object> Параметры запроса на получение URL для загрузки. Подробнее
  • afterUploadParams<Object> Параметры запроса на сохранение загруженного файла. Подробнее
  • Returns Promise<Any>

Выполняет загрузку файлов во ВКонтакте.

Типы загрузок

File

Файл должен представлять собой FS Stream либо объект, который содержит следующие свойства:

СвойствоТип
contentBufferСодержимое файла
nameStringИмя файла

Как загружать граффити и аудио-сообщения?

Для того, чтобы загрузить граффити или аудио-сообщение, нужно указать document как тип загрузки, а в параметрах запроса params указать тип загружаемого документа: для граффити — это graffiti, для аудио-сообщения — audio_message.

Message

Для событий message_new и message_reply возвращается экземпляр класса Message, который имеет расширенный список методов.

message.delete(params)

  • params<Number/Object> Параметры запроса. По умолчанию равен ID текущего сообщения
  • Returns Promise<Any>

Позволяет быстро удалить сообщение.

params может быть как ID сообщения, которое нужно удалить, так и объектом, содержащим параметры для метода messages.delete.

message.isAudio()

  • Returns Boolean

Вернёт true, если первое прикрепление к сообщению является аудиозаписью.

message.isAudioMessage()

  • Returns Boolean

Вернёт true, если было получено аудио-сообщение.

message.isGraffiti()

  • Returns Boolean

Вернёт true, если было получено сообщение с граффити.

message.isPhoto()

  • Returns Boolean

Вернёт true, если первое прикрепление к сообщению является фотографией.

message.isSticker()

  • Returns Boolean

Вернёт true, если был получен стикер.

message.isText()

  • Returns Boolean

Вернёт true, если было получено сообщение без прикреплений.

message.reply(answer)

  • answer<String/Object> Сообщение-ответ
  • Returns Promise<Any>

Позволяет быстро отправить ответ на сообщение в текущий диалог.

answer может быть как строкой-ответом, так и объектом, содержащим параметры для метода messages.send.

message.replyWithPhoto(photo)

  • photo<String/Stream/Object> Фотография
  • Returns Promise<Any>

Позволяет быстро отправить фотографию в текущий диалог.

photo принимается в таком же формате, как и второй аргумент (file) для метода client.upload.

Однако, можно просто передать URL фотографии, которую нужно загрузить, и всё будет работать.

message.restore(messageId)

  • messageId<Number> ID сообщения. По умолчанию ID текущего сообщения
  • Returns Promise<Any>

Восстанавливает сообщение по его ID.

message.send(params)

  • params<Object> Параметры для метода messages.send
  • Returns Promise<Any>

Отправляет сообщение.

message.setTyping(userId)

  • userId<Number> ID пользователя (= ID диалога). По умолчанию ID автора текущего сообщения
  • Returns Promise<Any>

Изменяет статус набора текста сообществом в диалоге.

1.2.7

6 years ago

1.2.6

7 years ago

1.2.5

7 years ago

1.2.4

7 years ago

1.2.3

7 years ago

1.2.2

7 years ago

1.2.1

7 years ago

1.2.0

7 years ago

1.1.1

7 years ago

1.1.0

7 years ago

1.0.0

7 years ago

0.0.1

7 years ago