Skip to main content

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 fork of pastebin-ts, which is updated to work with both Deno and Node

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"