nekos-best.js
TypeScript icon, indicating that this package has built-in type declarations

6.3.0 • Public • Published

nekos-best.js

High quality nekos and role-playing GIFs powered by nekos.best! This is the official API wrapper for the nekos.best's API with built-in TypeScript typings. Node LTS is recommended.

Join the official Discord server here

Installation

npm install nekos-best.js | yarn add nekos-best.js | pnpm install nekos-best.js

Usage

import { Client, fetchRandom } from "nekos-best.js";

// You can use the `fetchRandom()` function to fetch a random neko.
console.log(await fetchRandom("neko")); // { results: [{ artist_href: '···', artist_name: '···', source_url: '···', url: 'https://nekos.best/api/v2/neko/XXXXX-XXXXX.png' }] }

// Alternatively, you can initialize a new client which offers more features.
const nekosBest = new Client();

// Such as the `<Client>.fetch()` method.
console.log(await nekosBest.fetch("neko", 1)); // { results: [{ artist_href: '···', artist_name: '···', source_url: '···', url: 'https://nekos.best/api/v2/neko/XXXXX-XXXXX.png' }] }
console.log(await nekosBest.fetch("hug", 10)); // { results: [{ artist_href: '···', artist_name: '···', source_url: '···', url: 'https://nekos.best/api/v2/hug/XXXXX-XXXXX.gif' }, ···] }

// Or the `<Client>.fetchFile()` method to get a single file.
console.log(await nekosBest.fetchFile("neko")); // { artist_href: '···', ···, data: <Buffer> }

Build a simple Discord Bot with discord.js

import { Client as DiscordClient } from "discord.js";
import { Client } from "nekos-best.js";

const discordClient = new DiscordClient();
const nekosBest = new Client();

discordClient.on("messageCreate", async (message) => {
    if (message.author.bot) return;

    if (message.content.startsWith('!neko')) {
        message.channel.send((await nekosBest.fetch("neko", 1)).results[0].url);
    }
})

discordClient.login("************************.******.***************************");

Migrate from 5.X.X to 6.X.X

❗ For the TypeScript users, the type NbEndpointMetadata will be removed in the 7.X.X version due to recent API changes

<Client>.fetchRandom() & <Client>.fetchMultiple() methods have been removed in favor of the <Client>.fetch(category, amount) method

const nekosBest = new Client();

- nekosBest.fetchRandom("neko")
+ nekosBest.fetch("neko", 1)
const nekosBest = new Client();

- nekosBest.fetchMultiple("neko", 15)
+ nekosBest.fetch("neko", 15)

The <Client>.init() method has been removed

const nekosBest = new Client();

- await nekosBest.init();

Migrate from 4.X.X to 5.X.X

The fetchNeko(category) function has been removed in favor of the <Client>.fetchRandom() method and its shortcut fetchRandom()

- fetchNeko('category')
+ const nekosBest = new Client();
+
+ nekosBest.fetchRandom('category')
- fetchNeko('category')
+ fetchRandom('category')

The optional parameter amount of the fetchNeko() function has been removed in favor of the <Client>.fetchMultiple() method

- fetchNeko('category', 15)
+ const nekosBest = new Client();
+
+ nekosBest.fetchMultiple('category', 15)

Other Changes

  • The optional options max and min of the fetchNeko() function have been removed

Package Sidebar

Install

npm i nekos-best.js

Weekly Downloads

60

Version

6.3.0

License

MIT

Unpacked Size

23.9 kB

Total Files

7

Last publish

Collaborators

  • thunder04