{"id":15321824,"url":"https://github.com/eldimious/network-avatar-picker","last_synced_at":"2025-10-25T00:03:39.180Z","repository":{"id":25544353,"uuid":"104462607","full_name":"eldimious/network-avatar-picker","owner":"eldimious","description":"A npm module that returns user's social network avatar. Supported providers: facebook, instagram, twitter, tumblr, vimeo, github, youtube and gmail","archived":false,"fork":false,"pushed_at":"2023-01-24T08:53:25.000Z","size":1405,"stargazers_count":96,"open_issues_count":5,"forks_count":4,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-04-11T03:38:51.842Z","etag":null,"topics":["avatar","avatar-generator","avatar-service","buffer","facebook","github","image","instagram","node-module","nodejs","npm-module","profile-image","profile-picture","social-network","tumblr","twitter","user-avatar","username","vimeo","youtube"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/eldimious.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2017-09-22T10:29:16.000Z","updated_at":"2024-03-31T01:08:48.000Z","dependencies_parsed_at":"2023-02-13T19:20:51.544Z","dependency_job_id":null,"html_url":"https://github.com/eldimious/network-avatar-picker","commit_stats":null,"previous_names":[],"tags_count":25,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eldimious%2Fnetwork-avatar-picker","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eldimious%2Fnetwork-avatar-picker/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eldimious%2Fnetwork-avatar-picker/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eldimious%2Fnetwork-avatar-picker/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/eldimious","download_url":"https://codeload.github.com/eldimious/network-avatar-picker/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248734420,"owners_count":21153206,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["avatar","avatar-generator","avatar-service","buffer","facebook","github","image","instagram","node-module","nodejs","npm-module","profile-image","profile-picture","social-network","tumblr","twitter","user-avatar","username","vimeo","youtube"],"created_at":"2024-10-01T09:13:13.408Z","updated_at":"2025-10-25T00:03:39.174Z","avatar_url":"https://github.com/eldimious.png","language":"JavaScript","funding_links":["https://ko-fi.com/Y8Y797KCA"],"categories":[],"sub_categories":[],"readme":"# network-avatar-picker\n\n\u003e 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!\n\n\n[![npm version](https://badge.fury.io/js/network-avatar-picker.svg)](https://badge.fury.io/js/network-avatar-picker) [![Build Status](https://travis-ci.org/eldimious/network-avatar-picker.svg?branch=master)](https://travis-ci.org/eldimious/network-avatar-picker) [![Coverage Status](https://coveralls.io/repos/github/eldimious/network-avatar-picker/badge.svg?branch=master)](https://coveralls.io/github/eldimious/network-avatar-picker?branch=master)\n\n## Supported Providers\n\n- Facebook\n- Github\n- Gmail\n- Instagram\n- Tumblr\n- Twitter\n- Vimeo\n- Youtube\n\n## Getting Started\n\n### Installing\n\nFirst, install `network-avatar-picker` as a dependency:\n\n```shell\nnpm install --save network-avatar-picker\n```\n\n### Usage\n\n#### Basic configuration\n\nYou should require the dependency in order to be able use it:\n\n```javascript\nconst NetworkAvatarPicker = require('network-avatar-picker');\nconst avatarPicker = new NetworkAvatarPicker();\n```\n\n#### Cache configuration using Redis\n\nIn **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.\n\n```javascript\nconst NetworkAvatarPicker = require('network-avatar-picker');\nconst avatarPicker = new NetworkAvatarPicker({\n  redis: {\n    host: '127.0.0.1', // required\n    port: '6379', // required\n    password  : 'your password',    // optional: replace with your password\n    ttl: 3600, // optional: Add your expiration caching time in seconds. Default value: 3600\n  }\n});\n```\n\nThis way we create a local Redis client with expiration caching time 3600sec.\n\n### Methods\n\nUse the `async` methods of the `avatarPicker` instance to fetch user avatars:\n\nA) **getAvatar**: Fetch avatar image as **Buffer**\n\n- `avatarPicker.facebook.getAvatar(username)`\n- `avatarPicker.twitter.getAvatar(username)`\n- `avatarPicker.instagram.getAvatar(username)`\n- `avatarPicker.tumblr.getAvatar(username)`\n- `avatarPicker.vimeo.getAvatar(username)`\n- `avatarPicker.github.getAvatar(username)`\n- `avatarPicker.youtube.getAvatar(username)`\n- `avatarPicker.gmail.getAvatar(email)`\n\nB) **getAvatarUrl**: Fetch avatar image as **URL**\n\n- `avatarPicker.facebook.getAvatarUrl(username)`\n- `avatarPicker.twitter.getAvatarUrl(username)`\n- `avatarPicker.instagram.getAvatarUrl(username)`\n- `avatarPicker.tumblr.getAvatarUrl(username)`\n- `avatarPicker.vimeo.getAvatarUrl(username)`\n- `avatarPicker.github.getAvatarUrl(username)`\n- `avatarPicker.youtube.getAvatarUrl(username)`\n- `avatarPicker.gmail.getAvatarUrl(email)`\n\n\n## Examples\n\n1) Fetch **twitter's** cnn user profile picture:\n\n**Buffer**: \n\n```JavaScript\n(async () =\u003e {\n    try {\n      const res = await avatarPicker.twitter.getAvatar('cnn');\n    } catch (e) {\n      // Deal with the fact the chain failed\n    }\n})();\n```\n\n**URL**:\n\n```JavaScript\n(async () =\u003e {\n    try {\n      const res = await avatarPicker.twitter.getAvatarUrl('cnn');\n    } catch (e) {\n      // Deal with the fact the chain failed\n    }\n})();\n```\n\n2) Fetch **facebook's** zuck user profile picture:\n\n**Buffer**:\n\n```JavaScript\n(async () =\u003e {\n    try {\n      const res = await avatarPicker.facebook.getAvatar('zuck');\n    } catch (e) {\n      // Deal with the fact the chain failed\n    }\n})();\n```\n\n**URL**:\n\n```JavaScript\n(async () =\u003e {\n    try {\n      const res = await avatarPicker.facebook.getAvatarUrl('zuck');\n    } catch (e) {\n      // Deal with the fact the chain failed\n    }\n})();\n```\n\n3) Fetch **instagram's** cnn user profile picture:\n\n**Buffer**:\n\n```JavaScript\n(async () =\u003e {\n    try {\n      const res = await avatarPicker.instagram.getAvatar('cnn');\n    } catch (e) {\n      // Deal with the fact the chain failed\n    }\n})();\n```\n\n**URL**:\n\n```JavaScript\n(async () =\u003e {\n    try {\n      const res = await avatarPicker.instagram.getAvatarUrl('cnn');\n    } catch (e) {\n      // Deal with the fact the chain failed\n    }\n})();\n```\n\n## Running the tests\n\nIn order to run tests you have to run:\n\n```shell\nnpm run tests\n```\n\n## Support Me\n\n[![ko-fi](https://ko-fi.com/img/githubbutton_sm.svg)](https://ko-fi.com/Y8Y797KCA)\n\n## Show your support\n\nGive a ⭐️ if this project helped you!\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Feldimious%2Fnetwork-avatar-picker","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Feldimious%2Fnetwork-avatar-picker","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Feldimious%2Fnetwork-avatar-picker/lists"}