VK-Promise
Модуль для работы с ВКонтакте API и Callback API ВКонтакте.
Установка
npm install VK-Promise
Tl;dr
var VK = vk = 'сюда access_token';// запрос ;// Загрузка файлаvk;// Получение всего что у чего есть offsetvk// Функцииvklongpollstart/*object*/ options; // Запуск получения сообщения через LongPollvk; // Запуск пакетной обработки запросов через executevkcallback_api; // Получения обработчика для http.createServervkcallback_api; // Поднятие и установка callback api сервераvkcallback_api; // Включает обработку лишний событий в callback api// РазноеVK; // Получения url из msg.attachmentsVK; // [{ key: key, value: value }] => { key: value }// Авторизацияvk ;
Элементарный запрос
vkusers;
Элементарный бот
vklongpollstart; // Запускаем получение сообщений через LongPoll vk;
Обработка need_captcha
vk;// API метод вызова captcha
Элементарный бот для группы через Callback API с оптимизацией ответа на сообщения через execute
var http = ; // Запускаем http сервер на 80 порту с обработкой Callback API// PS: Сервер в настройках группы нужно вешать вручнуюvar callback = vk;http; // Включаем оптимизацию через execute// Собирает все запросы и выполняет пачками раз в 334мс// 334мс - 3 раза в секунду, стандартное ограничение для юзеров// Для групп указываем 50vk; // message_new & message_reply объединяет в messagevk; // все остальное идет в callback type// Например если участник вышел из сообществаvk;
Загрузка файлов
// httphttp; // httpsvk ; // С дискаvar fs = ; vkupload ;
Загрузка всей стены
var readline = ; vk;
Остановка LongPoll с последующим восстановлением
vklongpollstart; vklongpoll;
Callback API
vkcallback_api;// В then отдает opts и server, который можно использовать например для установки ssl, но лучше использовать http + nginx
Дополнительные данные
- vk
- retry: false - Отключение повтора запроса при 6й ошибке: (true)
- ignore_cart: true - Игнорирование очереди запросов (false)
- ignore_execute_cart: true - Игнорирование сборщика запросов (false)
- reject_captcha: true - Выкидывать ошибку при проверочном коде (false)
- headers - заголовки
- vk.getAll
- max_offset - максимальный offset
Что нового
0.5.0
- Автоматическая настройка Callback API
- Bots LongPoll API
...
0.2.91
- Исправлена функция msg.editChat
- Добавлены функции vk.upload.widgetsAppImage и vk.upload.widgetsGroupImage
- В vk.init_callback_api добавлен аргумент data (key, secret, data) для передачи к событиям data.$
- Новое событие confirmation, для CallBack API
0.2.8
- vk.longpoll.stop возвращает Promise
0.2.7
- исправления в msg.get
- Добавил msg.user_id, msg.source_text, source_old_text с LongPoll
- vk.longpoll.listen - функция прослушки LongPoll сервера
- VK.default_options.longpoll - хранит стандартные параметры LongPoll
- callback vk.longpoll.stop теперь отдает данные для восстановления через vk.longpoll.listen
0.2.6
- msg.setActivity теперь принимает type
- Исправления msg.setActivity и msg.delete
- Добавлен метод messages.pin
- Из запросов идущих через сбор запросов убирается lang, если равно текущей и reject_captcha
- Починил return в msg.get
0.2.5
- Исправления в документации
- vk.longpoll.start
- vk.longpoll.stop
- Испрвлен метод VK.getAttachmentUrl
0.2.4
- Функция vk.longpoll.start получила опции которые передаются в messages.getLongPollServer
- В vk.longpoll.start изменены опции mode: 234, version: 1, что позволяет получать события о закреплении сообщений
- Исправлена очепятка unsupported
- Обновлена версия API до 5.69
- В vk.upload добавлена вожможность вывода ответа без сохранения, для вывода ответа после загрузаки используйте метод для сохранения "return"
- Исправленна функция vk.upload.chatPhoto
- VK.parseAttachments может принимать вторым параметром тип вложения
- msg теперь класс, в будущем все на него перепишу.
- msg.sendAttachment, msg.pin, msg.unpin, msg.addChatUser, msg.removeChatUser итд
- msg.body_decoded убрано, ищите в msg.data[6]
- vk.init_execute_cart теперь принемает интервал таймера и сразу его запускает
- Из запросов идущих через сбор запросов убирается версия api, если она равна текущей
- msg.send возвращает Promise с функциями edit и pin, для редактирования сообщения после отправки или пина
- Новое событие LongPollStop вызываемое ручной при остановке лонгполла
0.2.3
- Изменены события upload.get_server, upload.part, upload.end, upload.save
- Добавлено save_method "return", для методов не требующих сохранения
- Добавлены методы секции stories
- Методы для загрузки историй: vk.upload.storiesPhoto, vk.upload.storiesVideo
- reject_captcha: true - Выкидывать ошибку при проверочном коде
0.2.2
- Убран модуль fs, поэтому если вы использовали msg.sendPhoto или msg.sendDoc для загрузки с диска, то используйте fs.createReadStream
- Исправлена ошибка vk.request
- Новый раздел документации (ниже)
0.2.1
- Исправлен вывод ошибок в vk.upload
- vk.auth, пока без капч и 2фа
- Небольшие исправления
0.1.9
- Улучшена секция vk.upload
- Изменения в vk.request:
- Если передать url и data, то по умолчанию будет GET запрос и data вложится в search
- Добавлена обработка 302 ошибки
- При statusCode !== 200 запрос уйдет в catch
- VK.available_methods вынесен в available_methods.json
- Добавлен параметр стандартного имени файла options.filename
- Правки в VK.getAttachmentUrl и VK.parseAttachments
0.1.8
- Переписан build_execute_request
Разное
- VK - функция создания vk
- default_options - Стандартные параметры
- filename - стандартное имя файла для загрузки
- cart_interval - интервал выполнения запросов
- host - хост api
- method - метод передачи данных
- body - вложения в запрос
- v - версия api
- заголовки для запросов
- user-agent - id
- available_methods - Доступные методы
- Array2Object - переводит [{"value": "value1", "key": "key2"}] в {"key1": "value1"}
- parseAttachments - Переводит вложения в их id
- getAttachmentUrl - Получает ссылку на вложение
- default_options - Стандартные параметры
- vk - функция запросов к api
- listeners - список функций для vk.on
- on - получение событий
-
-
- все события
-
- update - события с longpoll
- messages - сообщения
- error - ошибки
- captcha - капча
- LongPollError - ошибка longpoll сервера
- LongPollRequest - запрос longpoll сервера
- LongPollResponse - ответ longpoll сервера
- response - ответ api
- get_server_method - ответ vk.upload при получении сервера загрузки
- upload_end - окончание загрузки файлов vk.upload
- part_upload - начало загрузки файла в vk.upload
- part_end - завершение загрузки файла в vk.upload
- и типы событий callback api
-
- init_longpoll - старый аналог vk.longpoll.start
- vk.longpoll - секция для работы с longpoll
- start - функция включение получения сообщений через longpoll
- stop - функция остановки longpoll
- listen - функция прослушивания сервера
- exit - переменная для выхода из цикла longpoll
- createMessage - подключение функций для ответа к объекту сообщения
- init_callback_api - получение функции для обработки запросов callback api
- cart - объект очереди запросов
- timer - таймер для обработки запросов
- execute_cart - использовать ли build_execute_request
- init - функция включения очереди запросов
- deinit - функция отключения очереди запросов
- build_execute_request - сборщик запросов в execute
- init_execute_cart - функция включения build_execute_request
- getAll - функция получения всего через offset
- upload - функция загрузки
- photos = photo - фото
- wallPhotos = wallPhoto - фото на стену
- ownerPhoto - фото в профиль
- messagesPhoto - фото в сообщение
- chatPhoto - фото на аватарку беседы
- marketPhoto - фото в товар
- marketAlbumPhoto - фото на альбом товаров
- audio - аудио
- video - видео
- docs = doc - документ
- wallDocs = wallDoc - документ на стену
- groupCover - обложка группы
- request - функция запросов
- tryJSON - функция парсинга json
- options - объект параметров
- auth - авторизация
- msg - объект сообщения
- data - данные с longpoll
- send - отправить сообщение
- edit - отредактировать отправленное сообщение
- pin - закрепить
- send - отправить сообщение
- reply - ответить на сообщение
- sendSticker - отправить стикер
- sendPhoto - отправить фото
- sendDoc - отправить документ
- sendGraffiti - отправить граффити
- sendAudioMessage - отправить голосовое сообщение
- get - получить данные которые не выдает longpoll
- setActivity - послать статус тайпинга
- deleteDialog - удалить диалог
- delete - удалить сообщение
- restore - восстановить сообщение или пометить как спам
- markAsRead - прочитать сообщение
- markAsImportant - отметить важным
- markAsAnsweredDialog - отметить отвеченным
- editChat - изменяет название беседы
- getChatUsers - получить участников беседы
- getChat - получить информацию о беседе
- addChatUser - добавить в беседе
- removeChatUser - удалить и беседе
- edit - отредактировать сообщение
- pin - закрепить сообщение
- sendAttachment - отправить сообщение с вложением
- getInviteLink - получить ссылку на беседу