Wondering what’s next for npm?Check out our public roadmap! »

    furry-wrapper
    TypeScript icon, indicating that this package has built-in type declarations

    0.0.5 • Public • Published

    Yiff Rewrite

    Patreon Discord Travis (.org) David node-current GitHub package.json version RunKit

    An extended wrapper based on Hokkqi's furry API wrapper.

    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
    Discord

    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, contact@example.com',
        // 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
        }
    }

    Install

    npm i furry-wrapper

    DownloadsWeekly Downloads

    4

    Version

    0.0.5

    License

    GPL-3.0

    Unpacked Size

    72.8 kB

    Total Files

    17

    Last publish

    Collaborators

    • avatar