pastedeno
v0.6.2
Published
Pastebin client for Deno/Node
Downloads
47
Maintainers
Readme
PasteDeno
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
Packages used
For the Deno version the following packages are used:
- xml (for parsing XML) (MIT License)
- evt (for event handling in Scraper) (MIT License)
For the Node version the following packages are used:
- fast-xml-parser (for parsing XML) (MIT License)
- evt (for event handling in Scraper) (MIT License)
- node-fetch (for fetching data) (MIT License)
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();