Skip to content

DonovanDMC/Yiffy

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Jun 28, 2023
ca62a7c · Jun 28, 2023

History

33 Commits
Jan 9, 2021
Jun 28, 2023
Nov 24, 2022
Feb 21, 2023
Dec 2, 2022
Dec 31, 2021
Feb 18, 2023
Jun 28, 2023
Jan 9, 2021
Jul 13, 2021
Dec 2, 2022
Feb 21, 2023
Jun 28, 2023
Feb 18, 2023

Repository files navigation

Yiffy API

Advantages of this api:

  • Requires no authentication, so it is easier to use
  • All image are HAND PICKED by the api creator, Donovan_DMC (note: if you find an image that seems out of place, report it in our Discord server. I try to do my best, but I'm not perfect!)
  • The api has multiple instances running, so requests are solved fast, even when there are many people accessing the api at one time!
  • Everything is served from our cdn (yiff.media)
  • 99.9% uptime
  • Everything is native NodeJS code, so zero dependencies!

This is the only official api wrapper for yiff.rest, with special typescript support for all endpoints!

You can get the available methods from the typings, or by making a request to https://v2.yiff.rest/categories. The method should be exactly the same as the db property.

If you are building this module from scratch, you will need to build it using npm run build, this will put the js files you need in the build folder.

Requests are converted to methods by replacing forward slashes with periods. examples:

This module can return an image, or 1-5 json responses.

Image:

import Yiffy from "yiffy";
import * as fs from "fs";
const y = new Yiffy();

y.furry.hug("image").then(res => fs.writeFileSync(`${__dirname}/file.png`, res.image));

JSON (1):

import Yiffy from "yiffy";
const y = new Yiffy();

y.furry.hug("json").then(res => console.log(res)); // 1 JSON response, "json" can be omitted

JSON (2+):

import Yiffy from "yiffy";
const y = new Yiffy();

y.furry.hug("json", 2).then(res => console.log(res)); // 2 json responses, an array

The options that can be provided are as follows (all optional):

  • (string) userAgent - the user agent to use with requests, see this message for the reccomended format
  • (string) apikey - your api key, if you have one (contact me on Discord if you want one)
  • (function) debug - a function for debug logging, its parameters are the request url, and an object of: start time, end time, total time taken for the request
  • (string) baseURL - The base url for the api, default: "https://v2.yiff.rest" (version MUST be included here, only subdomain versioning is supported)
  • (string) host - the value of the Host header sent with requests