FoundKey microblogging server.
Go to file
syuilo 99276028ae
Typed stream (#13)
* Update streaming.ts

* Update streaming.ts

* wip
2021-05-17 19:50:31 +09:00
src Typed stream (#13) 2021-05-17 19:50:31 +09:00
test Typed stream (#13) 2021-05-17 19:50:31 +09:00
test-d やった 2021-05-16 18:27:21 +09:00
.editorconfig tab 2021-05-16 18:22:19 +09:00
.gitignore Add ignore config 2021-05-15 01:53:41 +09:00
i-want-you.png i want you 2021-05-14 12:00:10 +09:00
jest.config.ts wip 2021-05-14 13:49:40 +09:00
LICENSE Initial commit 2021-05-11 14:14:30 +09:00
package-lock.json nannka 2021-05-16 23:42:06 +09:00
package.json tab 2021-05-16 18:22:19 +09:00
README.md Update README.md 2021-05-17 00:07:01 +09:00
tsconfig.json nannka 2021-05-16 23:42:06 +09:00

misskey.js

Strongly-typed official Misskey SDK for browsers/Node.js.

JavaScript(TypeScript)用の公式MisskeySDKです。ブラウザ/Node.js上で動作します。

以下が提供されています:

  • ユーザー認証
  • APIリクエスト
  • ストリーミング
  • ユーティリティ関数
  • Misskeyの各種モデル(ノート、ユーザー等)の型定義

Install

coming soon

Usage

Authenticate

todo

API request

都度インスタンスやトークンを指定する場合

import * as Misskey from 'misskey-js';

const meta = await Misskey.api.request('https://misskey.test', 'meta', { detail: true }, 'TOKEN');

最初にインスタンスやトークンを指定し、以後のリクエストでその情報を使いまわす場合

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 });

Streaming

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);
});

useSharedConnection(channel: string): SharedConnection

使いまわし可能なチャンネル(=パラメータを持たないチャンネル)に接続します。 このメソッドを用いて接続したチャンネル接続は内部的に使いまわされるため、プログラム上の複数の場所から呼び出してもコネクションを無駄に増やさずに済みます。

connectToChannel(channel: string, params?: any): NonSharedConnection

チャンネルに接続します。返り値はそのチャンネルへのコネクションインスタンスです。

メッセージの受信

チャンネル接続インスタンスはEventEmitterを継承しており、メッセージがサーバーから受信されると受け取ったイベント名でペイロードをemitします。

メッセージの送信

チャンネル接続インスタンスのsendメソッドを使用してメッセージをサーバーに送信することができます。