Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/deivu/harusame
A Node.js wrapper around LISTEN.moe websocket api.
https://github.com/deivu/harusame
listen-moe listenmoe
Last synced: 3 months ago
JSON representation
A Node.js wrapper around LISTEN.moe websocket api.
- Host: GitHub
- URL: https://github.com/deivu/harusame
- Owner: Deivu
- License: mit
- Created: 2019-09-20T06:04:47.000Z (over 5 years ago)
- Default Branch: master
- Last Pushed: 2021-12-04T05:00:14.000Z (about 3 years ago)
- Last Synced: 2024-05-22T23:46:33.498Z (8 months ago)
- Topics: listen-moe, listenmoe
- Language: JavaScript
- Homepage:
- Size: 48.8 KB
- Stars: 7
- Watchers: 2
- Forks: 2
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
## Harusame
The ShipGirl Project. Harusame `(c) Kancolle for Harusame`
### Installation
Master
```
npm i Deivu/Harusame
```
Stable
```
npm i Harusame
```### Examples
For invoked type code example, check [Client-Invoked.js](https://github.com/Deivu/Harusame/blob/master/tests/Client-Invoked.js)For event driven code example, check [Client-Event.js](https://github.com/Deivu/Harusame/blob/master/tests/Client-Event.js)
### Documentation
> Harusame Client Options
```js
// Default Options
const { Harusame } = require('harusame');
new Harusame({ attempts: 3, interval: 5000 });
```
| Name | Description
|------ |------
|`options.attempts`| Specifies how much Harusame will retry to connect to LISTEN.moe ws before you manually reconnect. Defaults to 3.
|`options.interval`| Specifies the interval between reconnects. Defaults to 5000 ms.> Harusame Events
```js
const client = new Harusame()
.on('debug', (name, msg) => console.log(`${name}, Debug Message: ${msg}`))
.on('error', (name, error) => console.error(`${name}, error`, error))
.on('close', (name, reason) => console.log(`${name}, Close Data: ${reason}`))
.on('open', (name) => console.log(`${name} is now open.`))
.on('ready', (name) => console.log(`${name} is now ready`))
.on('songUpdate', (name, data) => console.log(`${name}, Song:`, data));
```
| Name | Description
|------ |------
|`debug` | Emitted when a debug message is fired.
|`error` | Emitted when an error was thrown when handling something. **must be handled**
|`close` | Emitted when a websocket connection closed.
|`open` | Emitted when a websocket connection is opened.
|`ready` | Emitted when a websocket connection is ready.
|`songUpdate`| Emitted when a new track is playing at LISTEN.moe.> Harusame Properties & Methods
```js
const client = new Harusame()
.on('error', (name, error) => console.error(`${name}, error:`, error));console.log(client.config);
console.log(client.song);// Connect or Destroy JPOP LISTEN.moe WS
client.connect('JP');
client.destroy('JP');// Connect or Destroy KPOP LISTEN.moe WS
client.connect('KR');
client.destroy('KR');
```- Properties
`client.config` => returns the config you have set to Harusame.
`client.song` => returns an object with two keys, which is **JP** and **KR**.
- Methods
`client.connect()` => connects the WS you want.
`client.destroy()` => destroys the WS you want.