Ecosyste.ms: Awesome

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

Awesome Lists | Featured Topics | Projects

https://github.com/scholtzm/vapor

☁️ Lightweight Steam client framework for node.js
https://github.com/scholtzm/vapor

automation bot client framework nodejs steam steam-client

Last synced: 3 months ago
JSON representation

☁️ Lightweight Steam client framework for node.js

Awesome Lists containing this project

README

        







"Lightweight Steam client framework for node.js"

---



NPM version


Build Status


Dependency Status


devDependency Status


Gitter

---

## About

Vapor is a lightweight Steam client framework for [node.js](https://github.com/nodejs/node) which provides unified API for writing custom extensions. Vapor takes care of the basic stuff such as maintaining connection, logging in and exposes simple API which allows custom plugins to extend its behaviour.

## Install

```sh
npm install vapor
```

## Usage

```js
var vapor = require('vapor');

var bot = vapor();
bot.init({username: 'myUsername', password: 'myPassword'});
bot.connect();
```

## Client

Vapor provides a very simple automated client. This client uses [node-steam](https://github.com/seishun/node-steam) to connect to Steam servers.

Vapor provides several key features:
- handles log in process, including auth codes and sentry files
- provides API for plugins
- provides unified logging interface
- provides a bunch of [built-in plugins](docs) to make your life easier

Everything else needs to be programmed separately using plugin system.

## Plugins

Plugins are self-contained code snippets which extend Vapor's behaviour.

Plugins have:
- access to active Steam client instance and handlers
- access to Steam's enums

They can:
- emit custom events
- listen to events
- have their own configuration
- store data
- and more ...

Plugins are entirely event driven, there are no hard dependencies. Each plugin can emit an event and any plugin may register a callback for such event. This architecture allows your code to be modular and decoupled.

## More information

Visit this repo's Wiki for more information regarding installation, configuration, API, plugins, etc.

Examples are provided in the [examples](examples) folder.

You can also find auto-generated API docs in the [docs](docs) folder.

## LICENSE

MIT. See `LICENSE`.