Files
javascript-client-sdk/README.md
T
2022-03-22 18:06:52 +00:00

70 lines
1.6 KiB
Markdown

# revolt.js
![revolt.js](https://img.shields.io/npm/v/revolt.js) ![revolt-api](https://img.shields.io/npm/v/revolt-api?label=Revolt%20API)
**revolt.js** is a direct implementation of the entire Revolt API and provides a way to authenticate and start communicating with Revolt servers. **This is an ESM library!**
## Example Usage (Javascript / ES6)
```javascript
import { Client } from "revolt-api";
let client = new Client();
client.on("ready", async () =>
console.info(`Logged in as ${client.user.username}!`),
);
client.on("message", async (message) => {
if (message.content === "hello") {
message.channel.sendMessage("world");
}
});
client.loginBot("..");
```
If you are using Node, you must specify `--experimental-specifier-resolution=node`.
For example, `node --experimental-specifier-resolution=node index.js`.
## Example Usage (Typescript)
```typescript
import { Client } from "revolt-api";
let client = new Client();
client.on("ready", async () =>
console.info(`Logged in as ${client.user!.username}!`),
);
client.on("message", async (message) => {
if (message.content === "hello") {
message.channel!.sendMessage("world");
}
});
client.loginBot("..");
```
## MobX
MobX is used behind the scenes so you can subscribe to any change as you normally would, e.g. with `mobx-react(-lite)` or mobx's utility functions.
```typescript
import { autorun } from 'mobx';
[..]
client.once('ready', () => {
autorun(() => {
console.log(`Current username is ${client.user!.username}!`);
});
});
```
## Revolt API Types
All `revolt-api` types are re-exported from this library.