コンテンツにスキップ

PluginManagedRouter

PluginManagedRouter は、CommunityPluginManagedEvent をインストール(COMMUNITY_PLUGIN_INSTALLED)とアンインストール(COMMUNITY_PLUGIN_UNINSTALLED)に分けてルーティングする EventHandler 実装です。

追加インストールは不要です。mixi2-js に同梱されています。

// ESM
import { PluginManagedRouter } from 'mixi2-js/helpers';
// CJS
const { PluginManagedRouter } = require('mixi2-js/helpers');

EventRouter と組み合わせる(推奨)

Section titled “EventRouter と組み合わせる(推奨)”
import { EventType, StreamWatcher } from 'mixi2-js';
import { EventRouter, PluginManagedRouter } from 'mixi2-js/helpers';
const pluginRouter = new PluginManagedRouter()
.onInstalled(async (community) => {
console.log(`Plugin が ${community.name} にインストールされました`);
// 初期設定の実施など
})
.onUninstalled(async (community) => {
console.log(`Plugin が ${community.name} からアンインストールされました`);
// データのクリーンアップなど
});
const router = new EventRouter();
router.on(EventType.COMMUNITY_PLUGIN_MANAGED, (event) => pluginRouter.handle(event));
const watcher = new StreamWatcher({ client, handler: router });
await watcher.watch();

コールバックの第 2 引数(イベント全体)

Section titled “コールバックの第 2 引数(イベント全体)”

詳細情報が必要な場合は第 2 引数からイベントオブジェクト全体を参照できます。

const pluginRouter = new PluginManagedRouter()
.onInstalled(async (community, event) => {
// event: CommunityPluginManagedEvent
console.log("理由リスト:", event.eventReasonList);
});
new PluginManagedRouter()

引数はありません。

メソッドコールバック引数戻り値説明
onInstalled(listener)(community: Community, event)thisインストール時に呼ばれるハンドラを登録
onUninstalled(listener)(community: Community, event)thisアンインストール時に呼ばれるハンドラを登録
handle(event)--EventHandler インターフェースの実装