Security News
The Dark Side of Open Source
At Node Congress, Socket CEO Feross Aboukhadijeh uncovers the darker aspects of open source, where applications that rely heavily on third-party dependencies can be exploited in supply chain attacks.
vk-subs-activity
Advanced tools
Readme
This module helps you to count activity of your VK group subscribers (likes, comments etc). And easy to integrate with your bot or something else.
npm i vk-subs-activity
Fast start below, continue reading for advanced usage.
const VkSubsActivity = require('vk-subs-activity');
const vkSubsActivity = new VkSubsActivity({
token: process.env.TOKEN, // SERVICE or USER token, NOT group
groupId: process.env.GROUP_ID, // e.g. 147845620
});
vkSubsActivity.updateList()
.then(() => {
console.log(vkSubsActivity.getList());
});
npm test
new VkSubsActivity({
token: undefined,
groupId: undefined,
lang: 'ru',
adminsIds: [],
likes: {
valueOfUsual: 1,
valueOfTop: 2,
countOfFirstAreTop: 5,
valueOfLikedAllPosts: 5,
ignoreAdmins: true,
},
comments: {
valueOfUsual: 3,
valueOfTop: 4,
countOfFirstAreTop: 5,
ignoreShorterThan: 10,
valueOfLikesFromOthers: 5,
ignoreAdmins: true,
},
});
Property | Type | Default | Description |
---|---|---|---|
token | string | undefined | VK Service or User access_token |
groupId | number | undefined | Group id for monitoring |
lang | string | ru | VK api data language |
adminsIds | number[] | [] | Activity of this users don't affect in rating (they will not get any points for activity) |
likes.valueOfUsual | number | 1 | Number of points user receive for "usual" like (not in the first N likes) |
likes.valueOfTop | number | 2 | Number of points user receive for "top" like (in the first N likes) |
likes.countOfFirstAreTop | number | 5 | How many first likes will get extra points |
likes.valueOfLikedAllPosts | number | 5 | User will get extra points if he liked all posts at the update interval fromDate - toDate |
likes.ignoreAdmins | boolean | true | Admins likes will not affect in rating |
comments.valueOfUsual | number | 3 | Number of points user receive for "usual" comment (not in the first N comments) |
comments.valueOfTop | number | 4 | Number of points user receive for "top" comment (in the first N comments) |
comments.countOfFirstAreTop | number | 5 | How many first comments will get extra points |
comments.ignoreShorterThan | number | 10 | Users who leave short comment, will not get points for this |
comments.valueOfLikesFromOthers | number | 5 | Number of points user receive if someone likes his comment |
comments.ignoreAdmins | boolean | true | Admins comments will not affect in rating |
Starts rating auto update in selected interval. Clears rating list before each iteration to prevent double data rewriting. Optionally, you can pass a function as second argument, and it will executes every time when subs-activity-list is updated
.startAutoUpdate({
fromDate: Math.floor(Date.now() / 1000 - 604800),
toDate: Math.floor(Date.now() / 1000),
interval: 300000,
}, Promise.resolve);
Property | Type | Default | Description |
---|---|---|---|
fromDate | number | Math.floor(Date.now() / 1000 - 604800) (Unix time 7 days ago) | Only group posts newer than this Unix time affects rating |
toDate | number | Math.floor(Date.now() / 1000) (Unix time now) | Only group posts older than this Unix time affects rating |
interval | number | 300000 (ms) | Interval of rating update |
It stops rating auto update
.getList({
count: 0,
plain: false,
sortBy: 'points',
sortDirection: 'desc',
search: undefined,
});
Property | Type | Default | Description |
---|---|---|---|
count | number | 0 (all) | Number of rating items will return |
plain | boolean | false | Rating list will return as string |
sortBy | string | points | Rating list will sort by (id / firstName / lastName / usualLikes / topLikes / totalLikes / usualComments / topComments / totalComments / commentsLikesFromOthers / likedAllPosts / points / place) |
sortDirection | string | desc | Rating list sort direction ascending or descending (asc / desc) |
search | object | undefined (all) | Will return only rating items which match search query. E.g. search: { id: 123456 } or search: { firstName: 'Ivan' } |
Manual update of the rating list. Note that .updateList() will not clear rating list before update
Settings are equal to .startAutoUpdate(settings, cb), but without interval
property
Clears rating list
MIT
FAQs
Count activity of VK group subscribers, sum up and convert to points
The npm package vk-subs-activity receives a total of 7 weekly downloads. As such, vk-subs-activity popularity was classified as not popular.
We found that vk-subs-activity demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
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.
Security News
At Node Congress, Socket CEO Feross Aboukhadijeh uncovers the darker aspects of open source, where applications that rely heavily on third-party dependencies can be exploited in supply chain attacks.
Research
Security News
The Socket Research team found this npm package includes code for collecting sensitive developer information, including your operating system username, Git username, and Git email.
Security News
OpenJS is warning of social engineering takeovers targeting open source projects after receiving a credible attempt on the foundation.