if-follow-package
Version:
if-follow-package is a JavaScript library that provides APIs for managing followers and followings on GitHub. This package allows you to find users who are not following you back, find users who are following you back, unfollow users who are not following
56 lines (46 loc) • 1.39 kB
JavaScript
// Importing required modules
const axios = require('axios');
/**
* Function to Handles errors from Axios requests.
* @param {Error} error - The error object.
*/
const handleAxiosError = require("./error-handler");
/**
* Retrieves all followers of the specified user.
* @private
* @returns {Promise<Array<string>>} An array of usernames of followers.
*/
async function getAllFollowers(yourUsername, yourToken) {
const followers = [];
let page = 1;
// Fetch followers in paginated manner
while (true) {
try {
const response = await axios.get(
`https://api.github.com/users/${yourUsername}/followers`,
{
params: { page, per_page: 100 },
auth: {
username: yourUsername,
password: yourToken,
},
},
);
const data = response.data;
// Break if no more followers or data
if (!data || data.length === 0) {
break;
}
// Extract and store usernames of followers
followers.push(...data.map(({ login }) => login));
page++;
//await delay(1000); // Introduce a delay between API requests
} catch (error) {
// Handle Axios errors
handleAxiosError(error);
return [];
}
}
return followers;
}
module.exports = getAllFollowers;