New Crowdin updates (#6964)
* New translations theme.md (Arabic)
* New translations timelines.md (Arabic)
* New translations aiscript.md (Czech)
* New translations api.md (Czech)
* New translations create-plugin.md (Czech)
* New translations custom-emoji.md (Czech)
* New translations follow.md (Czech)
* New translations keyboard-shortcut.md (Czech)
* New translations timelines.md (Spanish)
* New translations stream.md (Spanish)
* New translations pages.md (Czech)
* New translations theme.md (French)
* New translations api.md (French)
* New translations create-plugin.md (French)
* New translations custom-emoji.md (French)
* New translations follow.md (French)
* New translations keyboard-shortcut.md (French)
* New translations mute.md (French)
* New translations pages.md (French)
* New translations reaction.md (French)
* New translations reversi-bot.md (French)
* New translations stream.md (French)
* New translations create-plugin.md (Dutch)
* New translations reversi-bot.md (Spanish)
* New translations aiscript.md (Spanish)
* New translations api.md (Spanish)
* New translations create-plugin.md (Spanish)
* New translations custom-emoji.md (Spanish)
* New translations follow.md (Spanish)
* New translations keyboard-shortcut.md (Spanish)
* New translations mute.md (Spanish)
* New translations pages.md (Spanish)
* New translations reaction.md (Spanish)
* New translations mute.md (Czech)
* New translations timelines.md (French)
* New translations reaction.md (Czech)
* New translations follow.md (Korean)
* New translations reaction.md (German)
* New translations reversi-bot.md (German)
* New translations stream.md (German)
* New translations theme.md (German)
* New translations timelines.md (German)
* New translations aiscript.md (Korean)
* New translations api.md (Korean)
* New translations create-plugin.md (Korean)
* New translations custom-emoji.md (Korean)
* New translations keyboard-shortcut.md (Korean)
* New translations mute.md (German)
* New translations mute.md (Korean)
* New translations pages.md (Korean)
* New translations reaction.md (Korean)
* New translations stream.md (Korean)
* New translations theme.md (Korean)
* New translations timelines.md (Korean)
* New translations aiscript.md (Dutch)
* New translations api.md (Dutch)
* New translations reversi-bot.md (Czech)
* New translations pages.md (German)
* New translations reversi-bot.md (Korean)
* New translations keyboard-shortcut.md (German)
* New translations mute.md (Danish)
* New translations stream.md (Czech)
* New translations follow.md (German)
* New translations theme.md (Czech)
* New translations timelines.md (Czech)
* New translations api.md (Danish)
* New translations create-plugin.md (Danish)
* New translations custom-emoji.md (Danish)
* New translations follow.md (Danish)
* New translations keyboard-shortcut.md (Danish)
* New translations aiscript.md (Danish)
* New translations pages.md (Danish)
* New translations ja-JP.yml (German)
* New translations reaction.md (Danish)
* New translations custom-emoji.md (German)
* New translations api.md (German)
* New translations aiscript.md (German)
* New translations timelines.md (Danish)
* New translations theme.md (Danish)
* New translations stream.md (Danish)
* New translations reversi-bot.md (Danish)
* New translations create-plugin.md (German)
* New translations follow.md (Kabyle)
* New translations keyboard-shortcut.md (Kabyle)
* New translations custom-emoji.md (Kabyle)
* New translations create-plugin.md (Kabyle)
* New translations api.md (Kabyle)
* New translations aiscript.md (Kabyle)
* New translations reversi-bot.md (Kannada)
* New translations timelines.md (Kannada)
* New translations theme.md (Kannada)
* New translations stream.md (Kannada)
* New translations reaction.md (Kannada)
* New translations pages.md (Kannada)
* New translations mute.md (Kannada)
* New translations pages.md (Kabyle)
* New translations keyboard-shortcut.md (Kannada)
* New translations mute.md (Kabyle)
* New translations keyboard-shortcut.md (Japanese, Kansai)
* New translations reaction.md (Kabyle)
* New translations follow.md (Japanese, Kansai)
* New translations custom-emoji.md (Kannada)
* New translations theme.md (Japanese, Kansai)
* New translations stream.md (Japanese, Kansai)
* New translations reversi-bot.md (Japanese, Kansai)
* New translations reaction.md (Japanese, Kansai)
* New translations pages.md (Japanese, Kansai)
* New translations mute.md (Japanese, Kansai)
* New translations custom-emoji.md (Japanese, Kansai)
* New translations reversi-bot.md (Kabyle)
* New translations create-plugin.md (Japanese, Kansai)
* New translations api.md (Japanese, Kansai)
* New translations aiscript.md (Japanese, Kansai)
* New translations timelines.md (Kabyle)
* New translations theme.md (Kabyle)
* New translations stream.md (Kabyle)
* New translations follow.md (Kannada)
* New translations keyboard-shortcut.md (English)
* New translations create-plugin.md (Kannada)
* New translations aiscript.md (English)
* New translations reaction.md (English)
* New translations pages.md (English)
* New translations mute.md (English)
* New translations follow.md (English)
* New translations custom-emoji.md (English)
* New translations create-plugin.md (English)
* New translations api.md (English)
* New translations stream.md (English)
* New translations timelines.md (Chinese Traditional)
* New translations theme.md (Chinese Traditional)
* New translations stream.md (Chinese Traditional)
* New translations reversi-bot.md (Chinese Traditional)
* New translations reaction.md (Chinese Traditional)
* New translations pages.md (Chinese Traditional)
* New translations mute.md (Chinese Traditional)
* New translations reversi-bot.md (English)
* New translations theme.md (English)
* New translations api.md (Kannada)
* New translations pages.md (Uyghur)
* New translations aiscript.md (Kannada)
* New translations timelines.md (Uyghur)
* New translations theme.md (Uyghur)
* New translations stream.md (Uyghur)
* New translations reversi-bot.md (Uyghur)
* New translations reaction.md (Uyghur)
* New translations mute.md (Uyghur)
* New translations timelines.md (English)
* New translations keyboard-shortcut.md (Uyghur)
* New translations follow.md (Uyghur)
* New translations custom-emoji.md (Uyghur)
* New translations create-plugin.md (Uyghur)
* New translations api.md (Uyghur)
* New translations aiscript.md (Uyghur)
* New translations timelines.md (Japanese, Kansai)
* New translations ja-JP.yml (Chinese Simplified)
* New translations ja-JP.yml (French)
* New translations ja-JP.yml (Chinese Simplified)
* New translations ja-JP.yml (Chinese Traditional)
* New translations ja-JP.yml (English)
* New translations ja-JP.yml (Russian)
* New translations ja-JP.yml (Ukrainian)
* New translations ja-JP.yml (Spanish)
* New translations ja-JP.yml (German)
* New translations ja-JP.yml (Korean)
* New translations aiscript.md (Chinese Simplified)
* New translations api.md (Chinese Simplified)
* New translations api.md (Chinese Simplified)
* New translations api.md (Chinese Simplified)
* New translations api.md (Chinese Simplified)
* New translations api.md (Chinese Simplified)
* New translations api.md (Chinese Simplified)
* New translations api.md (Chinese Simplified)
* New translations create-plugin.md (Chinese Simplified)
* New translations stream.md (Chinese Simplified)
* New translations create-plugin.md (Chinese Simplified)
* New translations create-plugin.md (Chinese Simplified)
* New translations create-plugin.md (Chinese Simplified)
* New translations create-plugin.md (Chinese Simplified)
* New translations ja-JP.yml (Chinese Traditional)
* New translations ja-JP.yml (Chinese Traditional)
* New translations mfm.md (Ukrainian)
* New translations mfm.md (Korean)
* New translations deck.md (Dutch)
* New translations mfm.md (Dutch)
* New translations deck.md (Norwegian)
* New translations mfm.md (Norwegian)
* New translations deck.md (Polish)
* New translations mfm.md (Polish)
* New translations deck.md (Portuguese)
* New translations mfm.md (Portuguese)
* New translations deck.md (Russian)
* New translations mfm.md (Russian)
* New translations deck.md (Ukrainian)
* New translations deck.md (Chinese Simplified)
* New translations mfm.md (German)
* New translations mfm.md (Chinese Simplified)
* New translations deck.md (Chinese Traditional)
* New translations mfm.md (Chinese Traditional)
* New translations deck.md (English)
* New translations mfm.md (English)
* New translations deck.md (Uyghur)
* New translations mfm.md (Uyghur)
* New translations deck.md (Kannada)
* New translations mfm.md (Kannada)
* New translations deck.md (Kabyle)
* New translations mfm.md (Kabyle)
* New translations deck.md (Japanese, Kansai)
* New translations deck.md (Korean)
* New translations deck.md (German)
* New translations mfm.md (Danish)
* New translations deck.md (French)
* New translations mfm.md (French)
* New translations deck.md (Spanish)
* New translations mfm.md (Spanish)
* New translations deck.md (Arabic)
* New translations mfm.md (Arabic)
* New translations deck.md (Czech)
* New translations mfm.md (Czech)
* New translations deck.md (Danish)
* New translations mfm.md (Japanese, Kansai)
* New translations aiscript.md (Chinese Traditional)
* New translations api.md (Chinese Traditional)
* New translations timelines.md (Chinese Traditional)
* New translations api.md (Chinese Traditional)
* New translations api.md (Chinese Traditional)
* New translations api.md (Chinese Traditional)
* New translations create-plugin.md (Chinese Traditional)
* New translations keyboard-shortcut.md (Chinese Traditional)
* New translations stream.md (Chinese Traditional)
* New translations keyboard-shortcut.md (Chinese Traditional)
* New translations keyboard-shortcut.md (Chinese Traditional)
* New translations create-plugin.md (Chinese Simplified)
* New translations create-plugin.md (Chinese Simplified)
* New translations create-plugin.md (Chinese Simplified)
* New translations create-plugin.md (Chinese Simplified)
* New translations aiscript.md (Chinese Traditional)
* New translations follow.md (Chinese Traditional)
* New translations ja-JP.yml (Chinese Traditional)
* New translations follow.md (Chinese Traditional)
* New translations ja-JP.yml (Chinese Traditional)
* New translations create-plugin.md (Chinese Simplified)
* New translations ja-JP.yml (Chinese Traditional)
* New translations create-plugin.md (Chinese Simplified)
* New translations custom-emoji.md (Chinese Simplified)
* New translations ja-JP.yml (Chinese Traditional)
* New translations ja-JP.yml (Chinese Simplified)
* New translations ja-JP.yml (Chinese Traditional)
* New translations ja-JP.yml (Chinese Traditional)
* New translations ja-JP.yml (Chinese Traditional)
* New translations ja-JP.yml (Chinese Traditional)
2020-12-28 12:45:08 +00:00
|
|
|
|
# プラグインの作成
|
|
|
|
|
Misskey Webクライアントのプラグイン機能を使うと、クライアントを拡張し、様々な機能を追加できます。 ここではプラグインの作成にあたってのメタデータ定義や、AiScript APIリファレンスを掲載します。
|
|
|
|
|
|
|
|
|
|
## メタデータ
|
|
|
|
|
プラグインは、AiScriptのメタデータ埋め込み機能を使って、デフォルトとしてプラグインのメタデータを定義する必要があります。 メタデータは次のプロパティを含むオブジェクトです。
|
|
|
|
|
|
|
|
|
|
### name
|
|
|
|
|
プラグイン名
|
|
|
|
|
|
|
|
|
|
### author
|
|
|
|
|
プラグイン作者
|
|
|
|
|
|
|
|
|
|
### version
|
|
|
|
|
プラグインバージョン。数値を指定してください。
|
|
|
|
|
|
|
|
|
|
### description
|
|
|
|
|
プラグインの説明
|
|
|
|
|
|
|
|
|
|
### permissions
|
|
|
|
|
プラグインが要求する権限。MisskeyAPIにリクエストする際に用いられます。
|
|
|
|
|
|
|
|
|
|
### config
|
|
|
|
|
プラグインの設定情報を表すオブジェクト。 キーに設定名、値に以下のプロパティを含めます。
|
|
|
|
|
|
|
|
|
|
#### type
|
|
|
|
|
設定値の種類を表す文字列。以下から選択します。 string number boolean
|
|
|
|
|
|
|
|
|
|
#### label
|
|
|
|
|
ユーザーに表示する設定名
|
|
|
|
|
|
|
|
|
|
#### description
|
|
|
|
|
設定の説明
|
|
|
|
|
|
|
|
|
|
#### default
|
|
|
|
|
設定のデフォルト値
|
|
|
|
|
|
|
|
|
|
## APIリファレンス
|
|
|
|
|
AiScript標準で組み込まれているAPIは掲載しません。
|
|
|
|
|
|
|
|
|
|
### Mk:dialog(title text type)
|
|
|
|
|
ダイアログを表示します。typeには以下の値が設定できます。 info success warn error question 省略すると info になります。
|
|
|
|
|
|
|
|
|
|
### Mk:confirm(title text type)
|
|
|
|
|
確認ダイアログを表示します。typeには以下の値が設定できます。 info success warn error question 省略すると question になります。 ユーザーが"OK"を選択した場合は true を、"キャンセル"を選択した場合は false が返ります。
|
|
|
|
|
|
|
|
|
|
### Mk:api(endpoint params)
|
|
|
|
|
Misskey APIにリクエストします。第一引数にエンドポイント名、第二引数にパラメータオブジェクトを渡します。
|
|
|
|
|
|
|
|
|
|
### Mk:save(key value)
|
|
|
|
|
任意の値に任意の名前を付けて永続化します。永続化した値は、AiScriptコンテキストが終了しても残り、Mk:loadで読み取ることができます。
|
|
|
|
|
|
|
|
|
|
### Mk:load(key)
|
|
|
|
|
Mk:saveで永続化した指定の名前の値を読み取ります。
|
|
|
|
|
|
|
|
|
|
### Plugin:register_post_form_action(title fn)
|
|
|
|
|
投稿フォームにアクションを追加します。第一引数にアクション名、第二引数にアクションが選択された際のコールバック関数を渡します。 コールバック関数には、第一引数に投稿フォームオブジェクトが渡されます。
|
|
|
|
|
|
|
|
|
|
### Plugin:register_note_action(title fn)
|
|
|
|
|
ノートメニューに項目を追加します。第一引数に項目名、第二引数に項目が選択された際のコールバック関数を渡します。 コールバック関数には、第一引数に対象のノートオブジェクトが渡されます。
|
|
|
|
|
|
|
|
|
|
### Plugin:register_user_action(title fn)
|
|
|
|
|
ユーザーメニューに項目を追加します。第一引数に項目名、第二引数に項目が選択された際のコールバック関数を渡します。 コールバック関数には、第一引数に対象のユーザーオブジェクトが渡されます。
|
|
|
|
|
|
|
|
|
|
### Plugin:register_note_view_interruptor(fn)
|
|
|
|
|
UIに表示されるノート情報を書き換えます。 コールバック関数には、第一引数に対象のノートオブジェクトが渡されます。 コールバック関数の返り値でノートが書き換えられます。
|
|
|
|
|
|
|
|
|
|
### Plugin:register_note_post_interruptor(fn)
|
|
|
|
|
ノート投稿時にノート情報を書き換えます。 コールバック関数には、第一引数に対象のノートオブジェクトが渡されます。 コールバック関数の返り値でノートが書き換えられます。
|
|
|
|
|
|
|
|
|
|
### Plugin:open_url(url)
|
|
|
|
|
第一引数に渡されたURLをブラウザの新しいタブで開きます。
|
|
|
|
|
|
|
|
|
|
### Plugin:config
|
|
|
|
|
プラグインの設定が格納されるオブジェクト。プラグイン定義のconfigで設定したキーで値が入ります。
|