Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/pteropackages/pterojs

A verbose API library for Pterodactyl
https://github.com/pteropackages/pterojs

javascript library nodejs pterodactyl pterodactyl-api pterodactyl-panel-api typescript wrapper

Last synced: 3 months ago
JSON representation

A verbose API library for Pterodactyl

Awesome Lists containing this project

README

        

PteroJS


A verbose API library for Pterodactyl


## About

PteroJS is a verbose API library for the [Pterodactyl Game Panel](https://pterodactyl.io) 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:
```js
import pterojs from 'https://cdn.skypack.dev/@devnote-dev/pterojs';
```

Please join the [support server](https://discord.com/invite/dwcfTjgn7S) 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

```js
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

```js
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](./migrations/v2-0-1.md) to PteroJS v2!

## Contributing

Please see the [issues](https://github.com/PteroPackages/PteroJS/issues) section for contributing ideas. New ideas/features are also welcome.

1. [Fork this repo](https://github.com/PteroPackages/PteroJS/fork)!
2. Make a branch from `main` (`git branch -b `)
3. Commit your changes (`git commit -am "..."`)
4. Open a PR here (`git push origin `)

## Contributors

- [Devonte](https://github.com/devnote-dev) - Owner, maintainer
- [Chelog](https://github.com/chelog) - Code contributor
- [Cain](https://github.com/cainthebest) - Code contributor

This repository is managed under the MIT license.

© 2021-present PteroPackages