Socket
Socket
Sign inDemoInstall

node-vkcoinapi

Package Overview
Dependencies
Maintainers
1
Versions
17
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

node-vkcoinapi

Работа с API VK Coin


Version published
Weekly downloads
10
Maintainers
1
Weekly downloads
 
Created
Source

vkcoinapi

Работа с API VK Coin

Особенности:

  • Реализованы все методы официального API
  • Удобная документация и хорошая тех. поддержка
  • Возможность получения платежей в режиме реального времени
  • Активные обновления
  • Не тянет за собой много библиотек
  • Есть своя беседа для обсуждения обновлений/багов

Планы:

  • Сделать WebHooks
  • Сделать гайды по установке и использованию на YouTube
  • Сделать папку с примерами (Сделано)

Установка

Windows:

  • Скачайте и установите последнюю версию Node.JS
  • Создайте в удобном месте папку, например vkcoin
  • Перейдите в командную строку: Win + R > cmd
  • Перейдите в папку: cd (путь до вашей папки)
  • Пропишите: npm i node-vkcoinapi

Ubuntu:

  • Установите Node.JS по этому гайду
  • Создайте в удобном месте папку, например vkcoin
  • Перейдите в папку: cd (путь до вашей папки)
  • Пропишите: npm i node-vkcoinapi

Начало работы

Для начала использования, вам нужно создать в своей папке исполняемый файл, пусть это будет index.js

Теперь его нужно открыть и импортировать библиотеку:

const VKCOINAPI = require('node-vkcoinapi');

const vkcoin = new VKCOINAPI(options = {});
ОпцияТипОписание
keyStringКлюч для взаимодействия с API
userIdNumberВаш айди ВК
tokenStringВаш токен

Где взять эти значения

Откройте свою аватарку и в адресной строке вы увидите подобное: https://vk.com/fakeman.cat_fmc?z=photo236908027_456259706%2Falbum236908027_0%2Frev

Вашим айди будет являться число после слова photo. В этом случае 236908027

  • Получение токена (token):

Откройте эту ссылку и нажмите разрешить

После этого в адресной строке будет подобное: https://api.vk.com/blank.html#access_token=xxxxxxxxxxxx&expires_in=0&user_id=user_id&email=email

Токеном будет являться строка от access_token до &expires. В этом случае xxxxxxxxxxxx

Методы

getTransactionList - Получает список ваших транзакций

async function run() {
    const result = await vkcoin.getTransactionList(tx);
    
    console.log(result);
}

run().catch(console.error);
ПараметрТипОписание
txArrayМассив айди переводов для получения ИЛИ [1] - последняя 1000 транзакций, [2] - 100

sendPayment - Делает перевод другому пользователю (в десятичных долях)

async function run() {
    const result = await vkcoin.sendPayment(toId, amount); // 1 коин = 1000 ед.
    
    console.log(result);
}

run().catch(console.error);
ПараметрТипОписание
toIdNumberАйди получателя
amountNumberСумма перевода

getLink - Получает ссылку для перевода

function run() {
    const link = vkcoin.getLink(amount, fixation);
    
    console.log(link);
}

run().catch(console.error);
ПараметрТипОписание
amountNumberСумма перевода
fixationBooleanФиксированная сумма или нет

formatCoins - Делает получаемое из API значение коинов читабельным. Например, приходит значение 1234567890. Этот метод сделает значение таким: 1 234 567,890

Это можно использовать в паре с другим методом:

async function run() {
    const trans = await vkcoin.getTransactionList([2]);

    const fixTrans = trans.response.map((tran) => {
        tran.amount = vkcoin.formatCoins(tran.amount);

        return tran;
    });

    console.log(fixTrans);
}

run().catch(console.error);
ПараметрТипОписание
coinsNumberВходящее значение коинов

getBalance - Получает баланс по айди пользователей

getMyBalance - Получает баланс текущего пользователя

async function run() {
    const balances = await vkcoin.getBalance([1, 100, 236908027]);
    const myBalance = await vkcoin.getMyBalance();

    console.log({ balances, myBalance });
}

run().catch(console.error);

Среди этих методов аргумент принимает только getBalance:

ПараметрТипОписание
userIdsArrayМассив айди пользователей

Updates

updates - Позволяет "прослушивать" события в VK Coin. Пока что я реализовал перехват входящего платежа, но вскоре придумаю что-нибудь ещё. И да, впервые работаю с сокетами :)

Запуск

Для запуска прослушивания есть специальный метод startPolling. Он является асинхронным, поэтому запускать его нужно в асинхронной функции:

async function run() {
    await vkcoin.updates.startPolling();
    
    /* Тут ваши действия со слушателем */
}

run().catch(console.error);

Метод не принимает аргументов

updates.onTransfer - Перехватывает входящие платежи, принимает один аргумент

async function run() {
    await vkcoin.updates.startPolling();

    vkcoin.updates.onTransfer((event) => {
        console.log(event);
    });
}

run().catch(console.error);

event - Объект, который хранит в себе информацию о платеже:

ПараметрТипОписание
amountNumberКоличество коинов, которые послупили на счёт
fromIdNumberАйди плательщика
idNumberАйди платежа

Ссылки

Keywords

FAQs

Package last updated on 19 Apr 2019

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