2025.3.2-beta.3 • Published 4 months ago

misskey-js v2025.3.2-beta.3

Weekly downloads
-
License
MIT
Repository
github
Last release
4 months ago

misskey.js

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

Test codecov

NPM

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

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

  • ユーザー認証
  • APIリクエスト
  • ストリーミング
  • ユーティリティ関数
  • Misskeyの各種型定義

対応するMisskeyのバージョンは12以上です。

Install

npm i misskey-js

Usage

インポートは以下のようにまとめて行うと便利です。

import * as Misskey from 'misskey-js';

便宜上、以後のコード例は上記のように* as Misskeyとしてインポートしている前提のものになります。

ただし、このインポート方法だとTree-Shakingできなくなるので、コードサイズが重要なユースケースでは以下のような個別インポートをお勧めします。

import { api as misskeyApi } from 'misskey-js';

Authenticate

todo

API request

APIを利用する際は、利用するサーバーの情報とアクセストークンを与えてAPIClientクラスのインスタンスを初期化し、そのインスタンスのrequestメソッドを呼び出してリクエストを行います。

const cli = new Misskey.api.APIClient({
	origin: 'https://misskey.test',
	credential: 'TOKEN',
});

const meta = await cli.request('meta', { detail: true });

requestの第一引数には呼び出すエンドポイント名、第二引数にはパラメータオブジェクトを渡します。レスポンスはPromiseとして返ります。

Streaming

misskey.jsのストリーミングでは、二つのクラスが提供されます。 ひとつは、ストリーミングのコネクション自体を司るStreamクラスと、もうひとつはストリーミング上のチャンネルの概念を表すChannelクラスです。 ストリーミングを利用する際は、まずStreamクラスのインスタンスを初期化し、その後でStreamインスタンスのメソッドを利用してChannelクラスのインスタンスを取得する形になります。

const stream = new Misskey.Stream('https://misskey.test', { token: 'TOKEN' });
const mainChannel = stream.useChannel('main');
mainChannel.on('notification', notification => {
	console.log('notification received', notification);
});

コネクションが途切れても自動で再接続されます。

チャンネルへの接続

チャンネルへの接続はStreamクラスのuseChannelメソッドを使用します。

パラメータなし

const stream = new Misskey.Stream('https://misskey.test', { token: 'TOKEN' });

const mainChannel = stream.useChannel('main');

パラメータあり

const stream = new Misskey.Stream('https://misskey.test', { token: 'TOKEN' });

const messagingChannel = stream.useChannel('messaging', {
	otherparty: 'xxxxxxxxxx',
});

チャンネルから切断

Channelクラスのdisposeメソッドを呼び出します。

const stream = new Misskey.Stream('https://misskey.test', { token: 'TOKEN' });

const mainChannel = stream.useChannel('main');

mainChannel.dispose();

メッセージの受信

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

const stream = new Misskey.Stream('https://misskey.test', { token: 'TOKEN' });
const mainChannel = stream.useChannel('main');
mainChannel.on('notification', notification => {
	console.log('notification received', notification);
});

メッセージの送信

Channelクラスのsendメソッドを使用してメッセージをサーバーに送信することができます。

const stream = new Misskey.Stream('https://misskey.test', { token: 'TOKEN' });
const messagingChannel = stream.useChannel('messaging', {
	otherparty: 'xxxxxxxxxx',
});

messagingChannel.send('read', {
	id: 'xxxxxxxxxx'
});

コネクション確立イベント

Streamクラスの_connected_イベントが利用可能です。

const stream = new Misskey.Stream('https://misskey.test', { token: 'TOKEN' });
stream.on('_connected_', () => {
	console.log('connected');
});

コネクション切断イベント

Streamクラスの_disconnected_イベントが利用可能です。

const stream = new Misskey.Stream('https://misskey.test', { token: 'TOKEN' });
stream.on('_disconnected_', () => {
	console.log('disconnected');
});

コネクションの状態

Streamクラスのstateプロパティで確認できます。

  • initializing: 接続確立前
  • connected: 接続完了
  • reconnecting: 再接続中

2024.11.0

7 months ago

2025.2.0-alpha.0

5 months ago

2025.1.0-beta.3

5 months ago

2025.1.0-beta.0

6 months ago

2025.1.0-beta.2

5 months ago

2025.1.0-beta.1

6 months ago

2025.3.0-beta.1

4 months ago

2025.3.0-beta.2

4 months ago

2024.11.0-alpha.0

8 months ago

2024.11.0-alpha.1

8 months ago

2024.11.0-alpha.2

8 months ago

2024.11.0-alpha.3

7 months ago

2025.3.0-beta.0

4 months ago

2025.3.1-alpha.0

4 months ago

2024.10.2-alpha.3

8 months ago

2025.2.1-alpha.0

5 months ago

2025.3.1

4 months ago

2025.3.0

4 months ago

2025.3.0-alpha.0

4 months ago

2025.2.0

5 months ago

2025.3.2-alpha.10

4 months ago

2025.3.2-alpha.11

4 months ago

2025.2.1

4 months ago

2024.11.1-alpha.0

7 months ago

2025.3.2-beta.2

4 months ago

2025.3.1-beta.2

4 months ago

2025.3.2-beta.1

4 months ago

2025.3.1-beta.3

4 months ago

2024.11.0-beta.4

7 months ago

2025.3.2-beta.0

4 months ago

2025.1.0-alpha.0

6 months ago

2025.3.1-beta.0

4 months ago

2025.3.2-beta.3

4 months ago

2025.3.1-beta.1

4 months ago

2025.1.0

5 months ago

2025.3.2-alpha.4

4 months ago

2025.3.2-alpha.3

4 months ago

2025.3.2-alpha.6

4 months ago

2025.3.2-alpha.5

4 months ago

2025.3.2-alpha.8

4 months ago

2025.3.2-alpha.7

4 months ago

2025.3.2-alpha.9

4 months ago

2025.3.2-alpha.0

4 months ago

2025.2.1-beta.0

4 months ago

2025.3.2-alpha.2

4 months ago

2025.3.2-alpha.1

4 months ago

2025.2.1-beta.1

4 months ago

2025.2.0-beta.1

5 months ago

2025.2.1-beta.2

4 months ago

2025.2.0-beta.0

5 months ago

2024.10.2-alpha.1

8 months ago

2024.10.2-alpha.2

8 months ago

2024.10.2-alpha.0

8 months ago

2024.10.0-alpha.1

9 months ago

2024.10.0-alpha.0

9 months ago

2024.10.0-beta.3

9 months ago

2024.10.0-beta.2

9 months ago

2024.10.0-beta.6

9 months ago

2024.10.0-beta.5

9 months ago

2024.10.0-beta.4

9 months ago

2024.9.0-beta.14

9 months ago

2024.9.0-alpha.13

9 months ago

2024.9.0-alpha.12

9 months ago

2024.9.0-alpha.11

9 months ago

2024.9.0-alpha.9

9 months ago

2024.9.0-alpha.8

9 months ago

2024.9.0-alpha.10

9 months ago

2024.9.0-alpha.1

10 months ago

2024.9.0-alpha.0

10 months ago

2024.9.0-alpha.3

9 months ago

2024.9.0-alpha.2

10 months ago

2024.9.0-alpha.5

9 months ago

2024.9.0-alpha.4

9 months ago

2024.9.0-alpha.7

9 months ago

2024.9.0-alpha.6

9 months ago

2024.10.1-alpha.0

9 months ago

2024.10.1

9 months ago

2024.10.1-beta.3

9 months ago

2024.10.1-beta.4

9 months ago

2024.10.1-beta.1

9 months ago

2024.10.1-beta.2

9 months ago

2024.10.1-beta.5

9 months ago

2024.10.1-beta.6

9 months ago

2024.10.0

9 months ago

2024.9.0

9 months ago

2024.5.0-rc.13

1 year ago

2024.8.0

11 months ago

2024.7.0-rc.4

11 months ago

2024.7.0-rc.5

11 months ago

2024.7.0-rc.6

11 months ago

2024.7.0-rc.7

11 months ago

2024.5.0

1 year ago

2024.7.0-rc.8

11 months ago

2024.8.0-alpha.1

11 months ago

2024.7.0

11 months ago

2024.8.0-alpha.0

11 months ago

2024.8.0-rc.5

11 months ago

2024.8.0-rc.4

11 months ago

2024.8.0-rc.3

11 months ago

2024.8.0-beta.2

11 months ago

2024.7.0-beta.2

11 months ago

2024.7.0-beta.3

11 months ago

2024.7.0-beta.0

12 months ago

2024.7.0-beta.1

12 months ago

2024.3.0

1 year ago

2024.3.1

1 year ago

2024.2.0

1 year ago

2024.2.0-beta.8

1 year ago

2024.2.0-beta.7

1 year ago

2024.2.0-beta.3

1 year ago

0.0.16

2 years ago

0.0.15

2 years ago

0.0.11

4 years ago

0.0.12

4 years ago

0.0.13

3 years ago

0.0.14

3 years ago

0.0.10

4 years ago

0.0.9

4 years ago

0.0.8

4 years ago

0.0.7

4 years ago

0.0.6

4 years ago

0.0.5

4 years ago

0.0.3

4 years ago

0.0.2

4 years ago

0.0.4

4 years ago

0.0.1

4 years ago