Skip to main content
Deno 2 is finally here 🎉️
Learn more

PasteDeno

GitHub release (latest by date) NPM Version GitHub Release Date GitHub code size in bytes GitHub GitHub last commit GitHub issues GitHub Workflow Status Codecov Deno docs

Pastebin Client for Deno/Node

This is a continuation of pastebin-ts and its predecessor pastebin-js. The main difference between Pastedeno and its predecessors is that it is completely rewritten and uses less dependencies (and up-to-date ones). Alongside the Deno version a Node version is automatically published to NPM.

Capabilities

Pastebin API

  • Create a new paste (with optional title, format, privacy and expiration)
  • Get a paste (raw)
  • Delete a paste
  • Get user info
  • Get user pastes

Scraper (PRO only)

  • Scrape latest pastes
  • Get raw paste
  • Get paste metadata

API

API Docs can be found on Deno Docs: https://deno.land/x/pastedeno/mod.ts

Installation

Deno

import { Pastebin } from "https://deno.land/x/pastedeno/mod.ts";

Node

Run npm install pastedeno or yarn add pastedeno

import { Pastebin } from "pastedeno";

Usage

Pastebin API

import { Pastebin, PrivacyLevel, ExpirationTime } from "https://deno.land/x/pastedeno/mod.ts";

// Create a new Pastebin instance
const pastebin = new Pastebin({
  api_dev_key: "<YOUR API DEV KEY>",
  api_user_name: "<YOUR USERNAME>",
  api_user_password: "<YOUR PASSWORD>",
})

// Create a new paste
const paste = await pastebin.createPaste({
    code: "console.log('Hello World!')",
    title: "Hello World",
    format: "javascript",
    privacy: PrivacyLevel.PRIVATE,
    expiration: ExpirationTime.ONE_DAY
});
// paste = 'https://pastebin.com/XXXXXXXX'

// Get the raw paste (either use the paste url or the paste id)
const raw = await pastebin.getPaste('https://pastebin.com/XXXXXXXX');

// Get the raw private paste
const rawPrivate = await pastebin.getPaste('https://pastebin.com/XXXXXXXX', true);

// Delete the paste
await pastebin.deletePaste('<paste id>');

// Get user info
const userInfo = await pastebin.getUserInfo();

// Get user pastes
const userPastes = await pastebin.listUserPastes();

// Set debug mode
pastebin.setDebug(true);

Scraper (PRO only)

import { Scraper } from "https://deno.land/x/pastedeno/mod.ts";

const scraper = new Scraper({
  intervalTime: 5000,
  limit: 10,
});

scraper.on("scrape", (data) => {
  console.table(data);
});

scraper.on("new", (data) => {
  console.log(`New paste: ${data.key}`);
});

scraper.on("error", (error) => {
  console.error(error);
});

scraper.start();

License

MIT


"Buy Me A Coffee"