npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

furry-wrapper

v0.0.5

Published

A rewrite of hokkqi's furry API wrapper

Downloads

28

Readme

Table of Contents

Introduction

Furry Wrapper allows you to easily interact with an abundance of web APIs with the aid of axios and ECMAScript 2017's async/await.

Installation

With npm:

$ npm install furry-wrapper

With yarn:

$ yarn add furry-wrapper

Usage

Try me on RunKit

Simply import the library and use whatever API directly:

const wrapper = require('furry-wrapper') // CommonJS
import * as wrapper from "furry-wrapper" // ES6

wrapper.E6([query][, options]).then(r => /* do something */)

Included APIs

| API | | |----------------------------------------|---| | e621 | ✔️ | | e926 | ✔️ | | Furry Bot | ✔️ | | Sheri Blossom | ✔️ | | Extras | ✔️ |

e621 and e926

To make a request to e621.net:

const { E6 } = require('furry-wrapper') // CommonJS
import E6 from "furry-wrapper"          // ES6

var query = ['score:>100', 'fox'] // Query can be a
var query = 'sunset rating:safe'  // string or array
// Check out the below link for valid query parameters
// https://e926.net/help/cheatsheet

var options // Optional library options

// Request e621 for a post abiding to our query
E6(query, options).then(post => console.log(post))

E6.nsfw(query, options) // The same as E6(query, options)
E6.sfw(query, options)  // Uses e926. Will only respond with SFW posts

The E6 module has its own custom options, allowing you to pass in noCub and overrideTags in the API options.

E6.nsfw(query, {
    // Filters out underage characters
    noCub: true,
    // Appends additional tags which overide previos tag
    overrideTags: 'moon'
})

FurryBot

Request the Furry Bot API for images:

const { FurryBot } = require('furry-wrapper') // CommonJS
import FurryBot from "furry-wrapper"          // ES6

var options

// Returns any random SFW image
FurryBot(options).then(r => console.log(r))

/*          Animals          */
// Returns any random animal image
FurryBot.animals(options).then(r => console.log(r))
// Returns a random image of a bird
FurryBot.animals.bird(options).then(r => console.log(r))
// Returns a random image of a "blep"
FurryBot.animals.blep(options).then(r => console.log(r))
// Returns a random image of a cheeta
FurryBot.animals.cheeta(options).then(r => console.log(r))
// Returns a random image of a fox
FurryBot.animals.fox(options).then(r => console.log(r))
// Returns a random image of a lynx
FurryBot.animals.lynx(options).then(r => console.log(r))
// Returns a random image of a tiger
FurryBot.animals.wolf(options).then(r => console.log(r))

/*          Furry          */
// Returns any random furry image
FurryBot.furry(options).then(r => console.log(r))
// Returns any random furry yiff image
FurryBot.furry.yiff(options).then(r => console.log(r))
// Returns a random image of a boop
FurryBot.furry.boop(options).then(r => console.log(r))
// Returns a random image of a cudd;e
FurryBot.furry.cuddle(options).then(r => console.log(r))
// Returns a random image of a flop
FurryBot.furry.flop(options).then(r => console.log(r))
// Returns a random image of a fursuit
FurryBot.furry.fursuit(options).then(r => console.log(r))
// Returns a random image of a hold
FurryBot.furry.hold(options).then(r => console.log(r))
// Returns a random image of a howl
FurryBot.furry.howl(options).then(r => console.log(r))
// Returns a random image of a hug
FurryBot.furry.hug(options).then(r => console.log(r))
// Returns a random image of a kiss
FurryBot.furry.kiss(options).then(r => console.log(r))
// Returns a random image of a lick
FurryBot.furry.lick(options).then(r => console.log(r))
// Returns a random image of a proposal
FurryBot.furry.propose(options).then(r => console.log(r))
// Returns a random image of a bulge
FurryBot.furry.bulge(options).then(r => console.log(r))

/*          Yiff          */
// Returns any random furry yiff image
FurryBot.yiff(options).then(r => console.log(r))
// Returns a random image of gay yiff
FurryBot.yiff.gay(options).then(r => console.log(r))
// Returns a random image of straight yiff
FurryBot.yiff.straight(options).then(r => console.log(r))
// Returns a random image of lesbian yiff
FurryBot.yiff.lesbian(options).then(r => console.log(r))
// Returns a random image of gynomorph yiff
FurryBot.yiff.gynomorph(options).then(r => console.log(r))

Fox

Gives a random image of a fox

const { Fox } = require('furry-wrapper') // CommonJS
import Fox from "furry-wrapper"          // ES6

Fox(options).then(r => console.log(r)) // Link to the image

Shibe

Even more cute animal pictures:

const { Shibe } = require('furry-wrapper') // CommonJS
import Shibe from "furry-wrapper"          // ES6

// A picture of a shibe
Shibe(options).then(r => console.log(r))
// The exact same
Shibe.shibe(options).then(r => console.log(r))
// A picture of a cat
Shibe.cat(options).then(r => console.log(r))
// A picture of a bird
Shibe.bird(options).then(r => console.log(r))

Sheri

Allows you to easily interact with the Sheri API. Sheri has too many endpoints to interact with in an optimised profession, so you will have the use the name of the endpoint. You can find all endpoints here

const { Sheri } = require('furry-wrapper') // CommonJS
import Sheri from "furry-wrapper"          // ES6

var endpoint = 'husky' // You can view all endpoints at https://sheri.bot/api/urls

Sheri(endpoint, options).then(r => console.log(r)) // Returns the response

API Options

Additionally, each module allows you to pass in API options to customise your experience a tad more.

var options = {
    // Allows you to pass in a token through the authorization header
    token: "OGhZVFNVRms6OGhZVFNVRms=",
    // The exact same as `token`
    auth,
    // Use your own custom user agent. User agent will always default to your Node.js version and OS name if no agent is provided
    agent: 'My Progamme, [email protected]',
    // Allows you to apply your own axios options whenever axios is used.
    axiosOptions: {
        // Sets a specific amount of time in milliseconds that axios will wait until the requested server responds.
        timeout: 1000 
        // You can find other axios options at https://github.com/axios/axios#request-config
    }
}