https://github.com/fangmarks/yiff
Node.js API Wrapper for various Furry APIs
https://github.com/fangmarks/yiff
bot phin yiff
Last synced: about 1 year ago
JSON representation
Node.js API Wrapper for various Furry APIs
- Host: GitHub
- URL: https://github.com/fangmarks/yiff
- Owner: fangmarks
- Created: 2019-01-17T21:28:34.000Z (over 7 years ago)
- Default Branch: master
- Last Pushed: 2024-01-09T19:33:52.000Z (over 2 years ago)
- Last Synced: 2025-04-10T04:04:45.830Z (about 1 year ago)
- Topics: bot, phin, yiff
- Language: TypeScript
- Homepage:
- Size: 1.19 MB
- Stars: 20
- Watchers: 5
- Forks: 2
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# yiff by [Lio](https://wrwlf.co "my homepage")
[](https://nodei.co/npm/yiff/)
## **VERSION 3 IS A BREAKING CHANGE**
## NodeJS V14 or higher is required!
### **\*Do not** update from v2 if your current code is still based on v2\*
If you need Support or want more Information, join [my discord server](https://discord.gg/He2822y "a link to my discord server")
## ⭐️ Supported APIs
- e621.net
- e926.net
- [yiff.rest](https://yiff.rest)
- [sheri.bot](https://sheri.bot)
- [shibe.online](https://shibe.online)
- randomfox.ca
- [api.floofy.dev](https://floofy.dev)
- [gelbooru.com](https://gelbooru.com)
- [thaldr.in](https://thaldr.in)
**Yiff, by default, uses the main [Killswitch Instance](https://yiff.click) as a Proxy for any Requests.**
# Usage
```ts
import Yiff from "yiff";
// every object in the config is optional
let config = {
useragent: `Project/version (website)`;
killswitch: {
enabled: true
instance: "https://yiff.click"
}
apikey: {
sheri: "";
yiffrest: "";
e621: "";
e926: "";
}
}
const yiff = new Yiff(config);
let tags = "werewolf male/male"
let limit = 1
// Basically:
yiff.e621(tags, limit).then((r) => {console.log("e621", r)})
// => Unfiltered E621 Response
yiff.e926(tags, limit).then((r) => {console.log("e926", r)})
// => Unfiltered E926 Response
yiff.yiffy('animals', 'birb').then((r) => {console.log("yiffy", r)})
// => Unfiltered yiff.rest Response
yiff.floofy().then((r) => {console.log("floofy", r)})
// => Unfiltered api.floofy.dev Response
yiff.sheri('paws').then((r) => {console.log("sheri", r)})
// => Unfiltered sheri.bot Response
yiff.shibe("shibes", 2).then((r) => {console.log("shibes", r)})
// => Unfiltered shibe.online Response
yiff.fox().then((r) => {console.log("fox", r)})
// => Unfiltered randomfox.ca Response
yiff.thaldrin("categories/foxes").then((r) => {console.log("thaldrin", r)})
// => Unfiltered thaldr.in Response
```
## ❓ FAQ
> **Q:** Will you add other APIs as well?\
> **A:** Depends on if they're either free or I get an all-access token, as well as if there's proper documentation for the API
## Contributing & Issues
Feel free to make a Pull request and fix some things, otherwise just open a Issue or join [my discord server](https://discord.gg/He2822y) and let me know what you want added!