Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
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
- Host: GitHub
- URL: https://github.com/pteropackages/pterojs
- Owner: PteroPackages
- License: mit
- Created: 2021-08-11T20:05:39.000Z (over 3 years ago)
- Default Branch: main
- Last Pushed: 2024-01-24T23:15:32.000Z (about 1 year ago)
- Last Synced: 2024-05-06T00:04:59.606Z (9 months ago)
- Topics: javascript, library, nodejs, pterodactyl, pterodactyl-api, pterodactyl-panel-api, typescript, wrapper
- Language: TypeScript
- Homepage: https://pteropackages.github.io/PteroJS/
- Size: 1.36 MB
- Stars: 38
- Watchers: 1
- Forks: 10
- Open Issues: 6
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
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 contributorThis repository is managed under the MIT license.
© 2021-present PteroPackages