PteroPackages / PteroJS

A verbose API library for Pterodactyl
https://pteropackages.github.io/PteroJS/
MIT License
41 stars 11 forks source link
javascript library nodejs pterodactyl pterodactyl-api pterodactyl-panel-api typescript wrapper

PteroJS

A verbose API library for Pterodactyl

About

PteroJS is a verbose API library for the Pterodactyl Game Panel designed to give developers full access and control over the API without having to compromise on code quality or efficiency.

Installing

If you are using Node.js (v14.x and above):

npm install @devnote-dev/pterojs
yarn add @devnote-dev/pterojs

or if you are using Deno:

import pterojs from 'https://cdn.skypack.dev/@devnote-dev/pterojs';

Please join the support server if you experience any issues with installing the package.

Compatibility

Note that you can use older versions of PteroJS with newer versions of Pterodactyl and Wings, but they will not be up-to-date with the latest features and fixes.

PteroJS Panel Wings
<= 0.7 <= 1.5
1.3.0 1.6.5 >= 1.7.0 ~1.6.0
1.4.2 1.7.0 >= 1.8.1 ~1.6.0
2.0.1 ^1.9.0 ^1.7.0
2.1.0 ^1.10.0 ^1.7.0

Setting Up

PteroJS uses separate classes for the client and application sides of the Pterodactyl API.

Using the application API

const { PteroApp } = require('@devnote-dev/pterojs');

// Initialising the application
const app = new PteroApp('your.domain.name', 'pterodactyl_api_key');

// Accessing information
app.servers.fetch(4).then(console.log);

Using the client API

const { PteroClient } = require('@devnote-dev/pterojs');

// Initialising the client
const client = new PteroClient('your.domain.name', 'pterodactyl_api_key');

// Adding the server to listen for
const shard = client.addSocketServer('f7eca02e');

// Listening to events
shard.on('statusUpdate', (status) => {
    console.log(`server ${shard.id} status: ${status}`);
});

// Connecting to the server
shard.connect();

Migrations

Checkout the new migrations guide to PteroJS v2!

Contributing

Please see the issues section for contributing ideas. New ideas/features are also welcome.

  1. Fork this repo!
  2. Make a branch from main (git branch -b <new-feature>)
  3. Commit your changes (git commit -am "...")
  4. Open a PR here (git push origin <new-feature>)

Contributors

This repository is managed under the MIT license.

© 2021-present PteroPackages