Socket
Socket
Sign inDemoInstall

network-avatar-picker

Package Overview
Dependencies
65
Maintainers
1
Versions
25
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

    network-avatar-picker

A picker for user's networks profile image.


Version published
Weekly downloads
3
decreased by-25%
Maintainers
1
Install size
6.52 MB
Created
Weekly downloads
 

Readme

Source

network-avatar-picker

A npm module that returns a user's avatar from his social networks as Buffer or as URL. You can choose among Facebook, Twitter, Instagram, Tumblr, Vimeo, Github, Gmail and Youtube provider. Then, you just need to pass a username without the need of token or API keys and retrieve user's social network profile picture!

npm version Build Status Coverage Status

Supported Providers

  • Facebook
  • Github
  • Gmail
  • Instagram
  • Tumblr
  • Twitter
  • Vimeo
  • Youtube

Getting Started

Installing

First, install network-avatar-picker as a dependency:

npm install --save network-avatar-picker

Usage

Basic configuration

You should require the dependency in order to be able use it:

const NetworkAvatarPicker = require('network-avatar-picker');
const avatarPicker = new NetworkAvatarPicker();
Cache configuration using Redis

In 1.4.0 we have introduced support to cache results with Redis! Just pass redis config as param to the NetworkAvatarPicker and it will create a new redis client. Then, we will store the images and avatar's URL to redis.

const NetworkAvatarPicker = require('network-avatar-picker');
const avatarPicker = new NetworkAvatarPicker({
  redis: {
    host: '127.0.0.1', // required
    port: '6379', // required
    password  : 'your password',    // optional: replace with your password
    ttl: 3600, // optional: Add your expiration caching time in seconds. Default value: 3600
  }
});

This way we create a local Redis client with expiration caching time 3600sec.

Methods

Use the async methods of the avatarPicker instance to fetch user avatars:

A) getAvatar: Fetch avatar image as Buffer

  • avatarPicker.facebook.getAvatar(username)
  • avatarPicker.twitter.getAvatar(username)
  • avatarPicker.instagram.getAvatar(username)
  • avatarPicker.tumblr.getAvatar(username)
  • avatarPicker.vimeo.getAvatar(username)
  • avatarPicker.github.getAvatar(username)
  • avatarPicker.youtube.getAvatar(username)
  • avatarPicker.gmail.getAvatar(email)

B) getAvatarUrl: Fetch avatar image as URL

  • avatarPicker.facebook.getAvatarUrl(username)
  • avatarPicker.twitter.getAvatarUrl(username)
  • avatarPicker.instagram.getAvatarUrl(username)
  • avatarPicker.tumblr.getAvatarUrl(username)
  • avatarPicker.vimeo.getAvatarUrl(username)
  • avatarPicker.github.getAvatarUrl(username)
  • avatarPicker.youtube.getAvatarUrl(username)
  • avatarPicker.gmail.getAvatarUrl(email)

Examples

  1. Fetch twitter's cnn user profile picture:

Buffer:

(async () => {
    try {
      const res = await avatarPicker.twitter.getAvatar('cnn');
    } catch (e) {
      // Deal with the fact the chain failed
    }
})();

URL:

(async () => {
    try {
      const res = await avatarPicker.twitter.getAvatarUrl('cnn');
    } catch (e) {
      // Deal with the fact the chain failed
    }
})();
  1. Fetch facebook's zuck user profile picture:

Buffer:

(async () => {
    try {
      const res = await avatarPicker.facebook.getAvatar('zuck');
    } catch (e) {
      // Deal with the fact the chain failed
    }
})();

URL:

(async () => {
    try {
      const res = await avatarPicker.facebook.getAvatarUrl('zuck');
    } catch (e) {
      // Deal with the fact the chain failed
    }
})();
  1. Fetch instagram's cnn user profile picture:

Buffer:

(async () => {
    try {
      const res = await avatarPicker.instagram.getAvatar('cnn');
    } catch (e) {
      // Deal with the fact the chain failed
    }
})();

URL:

(async () => {
    try {
      const res = await avatarPicker.instagram.getAvatarUrl('cnn');
    } catch (e) {
      // Deal with the fact the chain failed
    }
})();

Running the tests

In order to run tests you have to run:

npm run tests

Keywords

FAQs

Last updated on 04 Jan 2022

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.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc