Skip to content

farhan7reza7/if-follow-package

Repository files navigation

if-follow-package

if-follow-package is a JavaScript library that provides APIs for managing followers and followings on GitHub.

if-follow-package allows you the following:

  • find users who are not following you back

  • find users who are following you back

  • unfollow users who are not following you back

  • check if a user is following you

  • check if you are following a user

  • get the exact total number of followings

  • get the exact total number of followers

  • and other follow control features

NPM Version npm-build-published github-build-published CI Codecov-report License LinkedIn

Table of Contents

Installation

Install from npm registry(Preference)

npm install if-follow-package

Install from Github Packages registry(require authentication)

npm install @farhan7reza7/if-follow-package
Steps to install from Github Packages registry:

See steps here

Include in html page from CDN

OR for version 2.1.3 and above

Can include in page using script tag from CDN

    <script src="https://cdn.jsdelivr.net/npm/axios@0.28.0/dist/axios.min.js"></script>
    <script src="https://cdn.jsdelivr.net/npm/if-follow-package@3.0.1/lib/index.min.js"></script>

Get any supported version script tag

Usage

Initialize:

//const ifFollow = require('@farhan7reza7/if-follow-package'); //or

const ifFollow = require('if-follow-package'); // can use any if authenticated

OR for version 2.1.3 and above

Can include in html page using script tag from CDN

    <script src="https://cdn.jsdelivr.net/npm/axios@0.28.0/dist/axios.min.js"></script>
    <script src="https://cdn.jsdelivr.net/npm/if-follow-package@3.0.0/lib/index.min.js"></script>

Create an instance:

const yourUsername = 'username';  // replace with your username
const yourToken = 'access-token' // replace with your access token

const followController = ifFollow(yourUsername, yourToken);

Note: For CDN based, only ifFollow function name creates an instance

See an example of using CDN based

Steps to generate access-token:

See steps here

Or if already know creating token

generate here

Use Methods to manage follow:

  • Get a list of users who are not following you back
const notFollowingBackList = followController.whoNotFollowingBack();
  • Get a list of users who are following you back
const followingBackList = followController.whoFollowingBack();
  • Check if a specific user is following you back
const isFollowingBackMessage = followController.isFollowingBack('username');
  • Unfollow a user who is not following you back
followController.unfollowNotFollowingBack('username');
  • Unfollow all users who are not following you back
followController.unfollowAllNotFollowingBack();
  • Check if a user is following you
const isFollowerMessage = followController.isFollower('username');
  • Check if you are following a user
const isFollowingMessage = followController.isFollowing('username');
  • Get the total number of followers
const totalFollowersMessage = followController.totalFollowers();
  • Get the total number of followings
const totalFollowingsMessage = followController.totalFollowings();

Get Built in codes for using if-follow-package any Method on created instance(followController)

Get Built in codes here

Managed Outputs (example user outputs):

isFollower(username)
// Test case: user is a follower
const result1 = followController.isFollower('farhan7reza7');

result1.then((result) => {
    console.log(result);  // Output: "Yes, farhan7reza7 follows you!"
});

// Test case: user is not a follower
const result2 = followController.isFollower('diff-ymd-package');

result2.then((result) => {
  console.log(result);  // Output: "No, diff-ymd-package does not follow you!"
});
isFollowing(username)
// Test case: user is followed
const result3 = followController.isFollowing('farhan7reza7');

result3.then((result) => {
  console.log(result); // Output: "Yes, you follow farhan7reza7!"
});

// Test case: user is not followed
const result4 = followController.isFollowing('anaseem80');

result4.then((result) => {
  console.log(result);  // Output: "No, you do not follow anaseem80!"
});
totalFollowers()
const result5 = followController.totalFollowers();

result5.then((result) => {
  console.log(result);  // Output: "Your total Followers: 1657"
});
totalFollowings()
const result6 = followController.totalFollowings();

result6.then((result) => {
  console.log(result);  // Output: "Your total Followings: 1067`
});
whoNotFollowingBack()
const result7 = followController.whoNotFollowingBack();

result7.then((result) => {
  console.log(result); // Output: ["diff-ymd-package", "Open-Sourced-Org", "username4", "usernameN"]
}); 
whoFollowingBack()
const result8 = followController.whoFollowingBack();

result8.then((result) => {
  console.log(result); // Output: ["farhan7reza7", "username2", "username3", "usernameN"]
}); 
isFollowingBack(username)
// Test case: user is following back
const result9 = followController.isFollowingBack('farhan7reza7');

result9.then((result) => {
  console.log(result); // Output: "Yes, farhan7reza7 following back!"
});  

// Test case: user is not following back
const result10 = followController.isFollowingBack('diff-ymd-package');

result10.then((result) => {
  console.log(result); // Output: "No, diff-ymd-package does not following back!"
}); 
unfollowNotFollowingBack(username)
// Test case: unfollow a user who is not following back
const result11 = followController.unfollowNotFollowingBack('diff-ymd-package');
                 //Console Output: "Unfollowed: diff-ymd-package"

// not needed to console, because internally log message, just only call
result11.then((result) => {
  console.log(result); // Output: "undefined"
}); 
unfollowAllNotFollowingBack()
// Test case: unfollow all users who are not following back
const result12 = followController.unfollowAllNotFollowingBack();
                 /* Console Output: "Unfollowed: Open-Sourced-Org"
                                    "Unfollowed: username2"
                                    "Unfollowed: username3"
                                    "Unfollowed: usernameN"*/
     
// not return anything, and internally log message, just only call
result12.then((result) => {
  console.log(result); // Output: "undefined"
});       
 

API References

if-follow-package

API Documentation

IfFollow

Represents a class for managing followers and followings on GitHub.

Initialize:

const ifFollow = require('if-follow-package');
ifFollow is a function which creates an instance of IfFollow

Create an instance of IfFollow:

const followController = ifFollow(yourUsername, yourToken);
  • yourUsername: Your GitHub username.

  • yourToken: Your GitHub personal access token.

  • Returns: An object containing functions to interact with followers and followings on Github.

Methods:

  • isFollower(username)

Check if a user is following you.

const isFollowerMessage = followController.isFollower('username');

username: The username of the user you want to check.

Returns: A message indicating if the user is following you.

  • isFollowing(username)

Check if you are following a user.

const isFollowingMessage = followController.isFollowing('username');

username: The username of the user you want to check.

Returns: A message indicating if you are following the user.

  • totalFollowers()

Get the total number of followers.

const totalFollowersMessage = followController.totalFollowers();

Returns: A message with the total number of followers.

  • totalFollowings()

Get the total number of followings.

const totalFollowingsMessage = followController.totalFollowings();

Returns: A message with the total number of followings.

  • whoNotFollowingBack()

Get a list of users who are not following you back.

const notFollowingBackList = followController.whoNotFollowingBack();

Returns: An array of usernames who are not following you back.

  • whoFollowingBack()

Get a list of users who are following you back.

const followingBackList = followController.whoFollowingBack();

Returns: An array of usernames who are following you back.

  • isFollowingBack(username)

Check if a specific user is following you back.

const isFollowingBackMessage = followController.isFollowingBack('username');

username: The username of the user you want to check.

Returns: A message indicating if the user is following you back.

  • unfollowNotFollowingBack(username)

Unfollow a user who is not following you back.

followController.unfollowNotFollowingBack('username');

username: The username of the user you want to unfollow.

Returns: {Promise} A promise that resolves once the user is unfollowed.

Special case: It outputs message in console/terminal indicating which user unfollowed

  • unfollowAllNotFollowingBack()

Unfollow all users who are not following you back.

followController.unfollowAllNotFollowingBack();

Returns: {Promise} A promise that resolves once all users are unfollowed.

Special case: It outputs messages in console/terminal indicating which users unfollowed

For more information:

See if-follow-package Documentation

Contributing

If you find any issues or have suggestions for improvement, please open an issue or create a pull request on the GitHub repository.

See CONTRIBUTING guidelines for more information.

Best Practices:

The code adheres to recommended practices for readability and maintainability, including:

  • Meaningful variable and function names for clarity.
  • Clear and concise comments to enhance understanding.
  • Proper indentation and formatting for visual organization.

See mdn guidelines for more information.

License

This project is licensed under the MIT License - see the LICENSE file for details.

See License

History

For more details about what has changed in each version of this project.

See CHANGELOG