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

noodles-wrapper

v1.7.5

Published

A simple Noodles API wrapper made by FrenchNoodles#6046

Downloads

201

Readme

Noodles wrapper npm npm install size

An API wrapper for Noodles API made by French Noodles#6046 to make your life easier while using the noodles API NPM

Installation

npm i noodles-wrapper

Examples

Random memes command, no input example

const noodles_api = require('noodles-wrapper')
const Discord = require('discord.js')

const Image = await noodles_api.randommeme()
let  embed = new Discord.MessageEmbed()
	.attachFiles([{name:  "meme.png",  attachment:Image}])
	.setImage('attachment://meme.png')
message.channel.send(embed)

Lisa-Stage command, 1 text input example

const noodles_api = require('noodles-wrapper')
const Discord = require('discord.js')

let text = args.toString().replace(/,/g,  '  ')
let Image = await noodles_api.lisastage(text)
  
const attachment = new Discord.MessageAttachment(Image);
message.channel.send(attachment);

Drake command, more than one text input example

const noodles_api = require('noodles-wrapper');

let text1 = args.toString().split('/')[0].replace(/,/g,  '  ')
let text2 = args.toString().split('/')[1].replace(/,/g,  '  ')

let Image  =  await noodles_api.drake(text1,  text2)
const attachment = new Discord.MessageAttachment(Image);

message.channel.send(attachment);

Trash command, image input example

let Discord = require("discord.js");
const noodles_api = require('noodles-wrapper')

let user = message.mentions.users.first() || message.author
let result = user.displayAvatarURL()

let Image = await  noodles_api.trash(result)

const attachment = new Discord.MessageAttachment(Image);
message.channel.send(attachment);

Balance card command, for more than 2 inputs example

let Discord = require("discord.js");
const noodles_api = require('noodles-wrapper')

let Image = await new noodles_api.balancecard() //You first make the variable
.setBackground(background) //then set all the arguments like so
.setAvatar(avatar)
.setTitle(title)
.setText1(text1)
.setText2(text2)
.setTextColor(textcolor) //in hex
.build() //and when your done, .build() it


let embed= new Discord.MessageEmbed()
  embed.setTitle(`Here is your balance ${message.author.username}!!`)
  embed.attachFiles([{name: "balance.png", attachment:Image}])
  embed.setImage('attachment://balance.png');
  embed.setColor(process.env.EMBEDCOLOR)
  embed.setFooter('Using Noodles API')
message.channel.send(embed)

Welcome banner

As for the welcome banner, it the same code as balance card, just remove text1 replace text2 with subtitle, aka setSubtitle, like so:

const noodles_api = require('noodles-wrapper')

let Image = await new noodles_api.welcomebanner()
.setBackground(background)
.setAvatar(avatar)
.setTitle(username)
.setSubtitle(subtitle)
.setTextColor(textcolor) //in hex
.build()

Endpoints

You can get a full list of the possible API endpoints Here But here are the functions:

  • drake(text1 ,text2)
  • worthless(text)
  • presidentialalert(text)
  • spongebobburnpaper(text)
  • lisastage(text)
  • changemymind(text)
  • awkwardmonkey(text)
  • blur(image)
  • invert(image)
  • edges(image)
  • circle(image)
  • wide(image)
  • uglyupclose(image)
  • clown(image)
  • rip(image)
  • affectbaby(image)
  • trash(image)
  • welcomebanner() (set stuff like the example)
  • boostercard(image)
  • randommeme()
  • balancecard() (set stuff like the example)

just replace the inputs with whatever you want, and for the "set stuff like example" just do as the example said at the start of the documentation

Quota

Due to recent spamming incidents, quotas were added to stop the API from going down, down worry thoe! Its really subtle!

Free tier (default)

  • 1 request per second
  • 50 requests per hour
  • 250 requests per day

Hobby tier ($3)

  • 2 request per second
  • 80 requests per hour
  • 380 requests per day

Standard tier ($7) most popular

  • 3 request per second
  • 200 requests per hour
  • 800 requests per day

To buy a tier, please contact me on discord Here! And if you want a better tier than Standard feel free to contact me too, we can arrange something

Error Handling

Here is an example of an error you could get in your console if you passed the quota, feel free to error handle and make your bot send your own custom error

{
  'You have passed your default quota!': '1 per 1 second',
  status: 429
}

It is always recommended to handle the errors sent by wrapper, here is an example

let Image
try{
  Image = await noodles_api.blur(result)
} catch(err) {
  return message.channel.send('You have been ratelimited (or there was a backend error)')
}

const attachment = new Discord.MessageAttachment(Image);
message.channel.send(attachment);

More tiers coming soon, if you have a big app and need it now, feel free to DM me on discord to discuss a price

Made by

Made with ❤ by French Noodles#6046, you can checkout my website Here or join my discord server Here! if you have any questions or suggestions or bug reports

Notes

I will be adding the more complicated balance card and welcome endpoints

Plus the wrapper is made in a way so that in Visual Studio Code you will get autocomplete for the function names!