spotted v1.2.7
spotted ·

$ npm install spottedБиблиотека для быстрого и простого создания ботов для сообществ ВКонтакте.
Включает в себя сервер для обработки приходящих от ВКонтакте запросов и клиент для вызова методов API ВКонтакте.
Клиент позволяет вызывать открытые методы и методы, доступные с ключом доступа сообщества, а также загружать файлы в сообщество: обложку, документы и фотографии.
Документация
spotted()
- Returns
Application
Возвращает экземпляр класса Application.
Application
app.run(options)
options<Object>Параметры запуска- Returns
void
Запускает сервер для обработки входящих запросов.
Options
Свойства объекта options и их значения по умолчанию.
{
port: 8080 // <Number> Порт
}app.setCommunity(community)
community<Object>Данные сообщества- Returns
void
Устанавливает данные сообщества.
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>
Выполняет загрузку файлов во ВКонтакте.
Типы загрузок
coverОбложка сообществаdocumentДокумент в личное сообщениеdocument_wallДокумент на стенуphotoФотография в личное сообщение
File
Файл должен представлять собой FS Stream либо объект, который содержит следующие свойства:
| Свойство | Тип | |
|---|---|---|
| content | Buffer | Содержимое файла |
| name | String | Имя файла |
Как загружать граффити и аудио-сообщения?
Для того, чтобы загрузить граффити или аудио-сообщение, нужно указать 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>
Изменяет статус набора текста сообществом в диалоге.