misskey/README.md

69 lines
2.4 KiB
Markdown
Raw Normal View History

2021-05-14 04:54:41 +02:00
# misskey.js
2021-05-16 17:07:01 +02:00
**Strongly-typed official Misskey SDK for browsers/Node.js.**
JavaScript(TypeScript)用の公式MisskeySDKです。ブラウザ/Node.js上で動作します。
以下が提供されています:
- ユーザー認証
- APIリクエスト
- ストリーミング
- ユーティリティ関数
- Misskeyの各種モデル(ノート、ユーザー等)の型定義
2021-05-14 04:54:41 +02:00
2021-05-14 05:00:58 +02:00
## Install
coming soon
2021-05-14 04:54:41 +02:00
# Usage
2021-05-16 11:30:42 +02:00
## Authenticate
todo
2021-05-14 04:54:41 +02:00
## API request
2021-05-16 11:27:21 +02:00
都度インスタンスやトークンを指定する場合
``` ts
import * as Misskey from 'misskey-js';
const meta = await Misskey.api.request('https://misskey.test', 'meta', { detail: true }, 'TOKEN');
```
最初にインスタンスやトークンを指定し、以後のリクエストでその情報を使いまわす場合
``` ts
import * as Misskey from 'misskey-js';
const cli = new Misskey.api.APIClient({
origin: 'https://misskey.test'
});
cli.i = { token: 'TOKEN' };
const meta = await cli.request('meta', { detail: true });
```
2021-05-14 04:54:41 +02:00
## Streaming
2021-05-16 11:33:08 +02:00
``` ts
import * as Misskey from 'misskey-js';
const stream = new Misskey.Stream('https://misskey.test', { token: 'TOKEN' });
const mainChannel = stream.useSharedConnection('main');
mainChannel.on('notification', notification => {
console.log('notification received', notification);
});
```
2021-05-14 05:00:10 +02:00
2021-05-16 15:23:23 +02:00
### `useSharedConnection(channel: string): SharedConnection`
使いまわし可能なチャンネル(=パラメータを持たないチャンネル)に接続します。
このメソッドを用いて接続したチャンネル接続は内部的に使いまわされるため、プログラム上の複数の場所から呼び出してもコネクションを無駄に増やさずに済みます。
### `connectToChannel(channel: string, params?: any): NonSharedConnection`
チャンネルに接続します。返り値はそのチャンネルへのコネクションインスタンスです。
### メッセージの受信
チャンネル接続インスタンスはEventEmitterを継承しており、メッセージがサーバーから受信されると受け取ったイベント名でペイロードをemitします。
### メッセージの送信
チャンネル接続インスタンスの`send`メソッドを使用してメッセージをサーバーに送信することができます。
2021-05-14 05:00:58 +02:00
---
2021-05-14 05:00:10 +02:00
<div align="center">
<a href="https://github.com/misskey-dev/misskey/blob/develop/CONTRIBUTING.md"><img src="./i-want-you.png" width="300"></a>
</div>