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 13:45:08 +01:00
|
|
|
|
# 插件开发
|
|
|
|
|
Misskey Web客户端插件功能使您可以扩展客户端并添加各种功能。 我们在这里给出用于创建插件的元数据定义和AiScript API参考。
|
|
|
|
|
|
|
|
|
|
## 元数据
|
|
|
|
|
插件必须使用AiScript的元数据嵌入功能将插件的元数据定义为默认值。 元数据是一个包含以下属性的对象:
|
|
|
|
|
|
|
|
|
|
### name
|
|
|
|
|
插件名称
|
|
|
|
|
|
|
|
|
|
### author
|
|
|
|
|
插件作者
|
|
|
|
|
|
|
|
|
|
### version
|
|
|
|
|
插件版本。请使用数字。
|
|
|
|
|
|
|
|
|
|
### description
|
|
|
|
|
插件说明
|
|
|
|
|
|
|
|
|
|
### permissions
|
|
|
|
|
插件要求的权限。在发送Misskey API请求时需要使用。
|
|
|
|
|
|
|
|
|
|
### 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
|
|
|
|
|
存储插件设置的对象。该值是通过插件定义的配置中设置的键值来传入的。
|