このドキュメントはコミュニティによる翻訳です。ドキュメントの翻訳はCrowdinから行えます。ご協力をお願いします🙏
プラグインの作成
Misskey Webクライアントのプラグイン機能を使うと、クライアントを拡張し、様々な機能を追加できます。 このドキュメントではプラグインの作成方法について説明します。
プラグインの例
以下に完全なプラグインの例を示します。このプラグインは、Plugin:register_post_form_action
を使用して、投稿フォームに「フグパンチボタン」を追加するものです。
このプラグインをインストールすると、投稿フォーム上のプラグインメニューに「フグパンチ」の項目が追加されます。クリックすると、投稿フォーム上のテキストに フグパンチ!!!!🐡( '-' 🐡 )
が追加されます。
/// @ 0.12.4
### {
name: "フグパンチボタン"
version: "0.0.1"
author: "Misskey Project"
}
Plugin:register_post_form_action('フグパンチ', @(note, rewrite) {
let fugu = "フグパンチ!!!!🐡( '-' 🐡 )"
if (note.text.trim() == '') {
// ノートの中身がない場合はフグパンチに置き換え
rewrite('text', fugu)
} else {
// ノートの中身がある場合は冒頭にフグパンチを追加して改行
rewrite('text', `{fugu}{Str:lf}{note.text}`)
}
})
AiScript
プラグインはAiScriptを使って記述されるスクリプトです。
メタデータ
プラグインは、AiScriptのメタデータ埋め込み機能を使って、デフォルトとしてプラグインのメタデータを定義する必要があります。メタデータの例は以下の通りです。
/// @ 0.12.4
### {
name: "プラグイン名"
version: "4.2.1"
author: "作者名"
description: "説明文"
}
メタデータは次のプロパティを含むオブジェクトです。
name
プラグイン名
author
プラグイン作者
version
プラグインバージョン。数値を指定してください。
description
プラグインの説明
permissions
プラグインが要求する権限。MisskeyAPIにリクエストする際に用いられます。
APIのリクエスト方法については、AiScript Misskey拡張API リファレンスをご覧ください。
permissionの一覧はこちらをご覧ください。
config
プラグインの設定情報を表すオブジェクト。 キーに設定名、値に以下のプロパティを含めます。
type
設定値の種類を表す文字列。以下から選択します。 string number boolean
label
ユーザーに表示する設定名
description
設定の説明
default
設定のデフォルト値
API
Misskey Webはプラグインに対してAPIを公開していて、それらを利用することでクライアントの機能を拡張できます。 どのようなAPIがあるかはAiScript Misskey拡張API リファレンスを参照してください。
プラグインを配布する
v2023.11.0以降では、あなたのウェブサイトからワンクリックでプラグインを直接インストールできるようになっています。
プラグインのインストール機能を提供する場合は、あなたのサイト上にAPIを実装する必要があります。詳しくはこちらをご覧ください。