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)
This commit is contained in:
4
src/docs/zh-CN/aiscript.md
Normal file
4
src/docs/zh-CN/aiscript.md
Normal file
@@ -0,0 +1,4 @@
|
||||
# AiScript
|
||||
|
||||
## 函数
|
||||
传递默认值。
|
58
src/docs/zh-CN/api.md
Normal file
58
src/docs/zh-CN/api.md
Normal file
@@ -0,0 +1,58 @@
|
||||
# Misskey API
|
||||
|
||||
您可以使用Misskey API来开发Misskey客户端、与Misskey链接的Web服务、Bot等应用(以下称为“应用程序”)。 另外还有一个流式API,因此还可以用来创建实时性的应用程序。
|
||||
|
||||
开始使用API前,您首先需要获取访问令牌。 本文档将引导您完成获取访问令牌的步骤,然后介绍API的基本使用方法。
|
||||
|
||||
## 访问令牌的获取
|
||||
总的来说,API请求需要访问令牌。 获取方式则根据请求的API或者非特定用户所使用的应用程序而有所不同。
|
||||
|
||||
* 对于前者:转到[“手动发放自己的访问令牌”](#自分自身のアクセストークンを手動発行する)
|
||||
* 对于后者:转到[“请求应用程序用户发放访问令牌”](#アプリケーション利用者にアクセストークンの発行をリクエストする)
|
||||
|
||||
### 手动发放自己的访问令牌
|
||||
您可以在“设置 > API”中发放自己的访问令牌。
|
||||
|
||||
[转到“API使用方法”](#APIの使い方)
|
||||
|
||||
### 请求应用程序用户发放访问令牌
|
||||
要获取应用程序用户的访问令牌,请按照以下步骤请求发放。
|
||||
|
||||
#### Step 1
|
||||
|
||||
生成UUID。以下将其称为会话ID。
|
||||
|
||||
> 此会话ID需要每次重新生成,请勿重复使用。
|
||||
|
||||
#### Step 2
|
||||
|
||||
在用户的浏览器中显示`{_URL_}/miauth/{session}`。将`{session}`的部分替换为会话ID。
|
||||
> 例: `{_URL_}/miauth/c1f6d42b-468b-4fd2-8274-e58abdedef6f`
|
||||
|
||||
显示时,可以在URL中设置一些选项作为查询参数:
|
||||
* `name` ... 应用程序名称
|
||||
* > 例: `MissDeck`
|
||||
* `icon` ... 应用程序图标URL
|
||||
* > 例: `https://missdeck.example.com/icon.png`
|
||||
* `callback` ... 认证后重定向的URL
|
||||
* > 例: `https://missdeck.example.com/callback`
|
||||
* 重定向时,会话ID将添加查询参数`session`
|
||||
* `permission` ... 应用程序要求的权限
|
||||
* > 例: `write:notes,write:following,read:drive`
|
||||
* 要求的权限需要以`,`分隔
|
||||
* 您可以在[API参考](/api-doc)中确认您所拥有的权限。
|
||||
|
||||
#### Step 3
|
||||
用户允许发行后,对`{_URL_}/api/miauth/{session}/check`的POST请求所返回的是一个包含访问令牌的JSON格式的响应。
|
||||
|
||||
响应中包含的属性:
|
||||
* `token` ... 用户的访问令牌
|
||||
* `user` ... 用户信息
|
||||
|
||||
[转到“API使用方法”](#APIの使い方)
|
||||
|
||||
## API使用方法
|
||||
**所有API均为POST,并且请求/响应均为JSON格式。不是REST。** 访问令牌包含在请求中,参数名为`i`。
|
||||
|
||||
* [API 参考](/api-doc)
|
||||
* [流式API](./stream)
|
74
src/docs/zh-CN/create-plugin.md
Normal file
74
src/docs/zh-CN/create-plugin.md
Normal file
@@ -0,0 +1,74 @@
|
||||
# 插件开发
|
||||
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
|
||||
存储插件设置的对象。该值是通过插件定义的配置中设置的键值来传入的。
|
2
src/docs/zh-CN/custom-emoji.md
Normal file
2
src/docs/zh-CN/custom-emoji.md
Normal file
@@ -0,0 +1,2 @@
|
||||
# 自定义表情符号
|
||||
カスタム絵文字は、インスタンスで用意された画像を絵文字のように使える機能です。 ノート、リアクション、チャット、自己紹介、名前などの場所で使うことができます。 カスタム絵文字をそれらの場所で使うには、絵文字ピッカーボタン(ある場合)を押すか、`:`を入力して絵文字サジェストを表示します。 テキスト内に`:foo:`のような形式の文字列が見つかると、`foo`の部分がカスタム絵文字名と解釈され、表示時には対応したカスタム絵文字に置き換わります。
|
18
src/docs/zh-CN/deck.md
Normal file
18
src/docs/zh-CN/deck.md
Normal file
@@ -0,0 +1,18 @@
|
||||
# Deck
|
||||
|
||||
デッキは利用可能なUIのひとつです。「カラム」と呼ばれるビューを複数並べて表示させることで、カスタマイズ性が高く、情報量の多いUIが構築できることが特徴です。
|
||||
|
||||
## カラムの追加
|
||||
デッキの背景を右クリックし、「カラムを追加」して任意のカラムを追加できます。
|
||||
|
||||
## カラムの移動
|
||||
カラムは、ドラッグアンドドロップで他のカラムと位置を入れ替えることが出来るほか、カラムメニュー(カラムのヘッダー右クリック)から位置を移動させることもできます。
|
||||
|
||||
## カラムの水平分割
|
||||
カラムは左右だけでなく、上下に並べることもできます。 カラムメニューを開き、「左に重ねる」を選択すると、左のカラムの下に現在のカラムが移動します。 上下分割を解除するには、カラムメニューの「右に出す」を選択します。
|
||||
|
||||
## カラムの設定
|
||||
カラムメニューの「編集」を選択するとカラムの設定を編集できます。カラムの名前を変えたり、幅を変えたりできます。
|
||||
|
||||
## デッキの設定
|
||||
デッキに関する設定は、[settings/deck](/settings/deck)で行えます。
|
2
src/docs/zh-CN/follow.md
Normal file
2
src/docs/zh-CN/follow.md
Normal file
@@ -0,0 +1,2 @@
|
||||
# 关注中
|
||||
ユーザーをフォローすると、タイムラインにそのユーザーの投稿が表示されるようになります。ただし、他のユーザーに対する返信は含まれません。 ユーザーをフォローするには、ユーザーページの「フォロー」ボタンをクリックします。フォローを解除するには、もう一度クリックします。
|
68
src/docs/zh-CN/keyboard-shortcut.md
Normal file
68
src/docs/zh-CN/keyboard-shortcut.md
Normal file
@@ -0,0 +1,68 @@
|
||||
# キーボードショートカット
|
||||
|
||||
## 全局
|
||||
これらのショートカットは基本的にどこでも使えます。
|
||||
<table>
|
||||
<thead>
|
||||
<tr><th>ショートカット</th><th>効果</th><th>由来</th></tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr><td><kbd class="key">P</kbd>, <kbd class="key">N</kbd></td><td>新規投稿</td><td><b>P</b>ost, <b>N</b>ew, <b>N</b>ote</td></tr>
|
||||
<tr><td><kbd class="key">T</kbd></td><td>タイムラインの最も新しい投稿にフォーカス</td><td><b>T</b>imeline, <b>T</b>op</td></tr>
|
||||
<tr><td><kbd class="group"><kbd class="key">Shift</kbd> + <kbd class="key">N</kbd></kbd></td><td>通知を表示/隠す</td><td><b>N</b>otifications</td></tr>
|
||||
<tr><td><kbd class="key">S</kbd></td><td>搜索</td><td><b>S</b>earch</td></tr>
|
||||
<tr><td><kbd class="key">H</kbd>, <kbd class="key">?</kbd></td><td>ヘルプを表示</td><td><b>H</b>elp</td></tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
## 投稿にフォーカスされた状態
|
||||
|
||||
<table>
|
||||
<thead>
|
||||
<tr><th>ショートカット</th><th>効果</th><th>由来</th></tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr><td><kbd class="key">↑</kbd>, <kbd class="key">K</kbd>, <kbd class="group"><kbd class="key">Shift</kbd> + <kbd class="key">Tab</kbd></kbd></td><td>上の投稿にフォーカスを移動</td><td>-</td></tr>
|
||||
<tr><td><kbd class="key">↓</kbd>, <kbd class="key">J</kbd>, <kbd class="key">Tab</kbd></td><td>下の投稿にフォーカスを移動</td><td>-</td></tr>
|
||||
<tr><td><kbd class="key">R</kbd></td><td>返信フォームを開く</td><td><b>R</b>eply</td></tr>
|
||||
<tr><td><kbd class="key">Q</kbd></td><td>Renoteフォームを開く</td><td><b>Q</b>uote</td></tr>
|
||||
<tr><td><kbd class="group"><kbd class="key">Ctrl</kbd> + <kbd class="key">Q</kbd></kbd></td><td>即刻Renoteする(フォームを開かずに)</td><td>-</td></tr>
|
||||
<tr><td><kbd class="key">E</kbd>, <kbd class="key">A</kbd>, <kbd class="key">+</kbd></td><td>リアクションフォームを開く</td><td><b>E</b>mote, re<b>A</b>ction</td></tr>
|
||||
<tr><td><kbd class="key">0</kbd>~<kbd class="key">9</kbd></td><td>数字に対応したリアクションをする(対応については後述)</td><td>-</td></tr>
|
||||
<tr><td><kbd class="key">F</kbd>, <kbd class="key">B</kbd></td><td>お気に入りに登録</td><td><b>F</b>avorite, <b>B</b>ookmark</td></tr>
|
||||
<tr><td><kbd class="key">Del</kbd>, <kbd class="group"><kbd class="key">Ctrl</kbd> + <kbd class="key">D</kbd></kbd></td><td>投稿を削除</td><td><b>D</b>elete</tr>
|
||||
<tr><td><kbd class="key">M</kbd>, <kbd class="key">O</kbd></td><td>投稿に対するメニューを開く</td><td><b>M</b>ore, <b>O</b>ther</td></tr>
|
||||
<tr><td><kbd class="key">S</kbd></td><td>CWで隠された部分を表示 or 隠す</td><td><b>S</b>how, <b>S</b>ee</td></tr>
|
||||
<tr><td><kbd class="key">Esc</kbd></td><td>フォーカスを外す</td><td>-</td></tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
## Renoteフォーム
|
||||
|
||||
<table>
|
||||
<thead>
|
||||
<tr><th>ショートカット</th><th>効果</th><th>由来</th></tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr><td><kbd class="key">Enter</kbd></td><td>Renoteする</td><td>-</td></tr>
|
||||
<tr><td><kbd class="key">Q</kbd></td><td>フォームを展開する</td><td><b>Q</b>uote</td></tr>
|
||||
<tr><td><kbd class="key">Esc</kbd></td><td>フォームを閉じる</td><td>-</td></tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
## リアクションフォーム
|
||||
デフォルトで「👍」にフォーカスが当たっている状態です。
|
||||
<table>
|
||||
<thead>
|
||||
<tr><th>ショートカット</th><th>効果</th><th>由来</th></tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr><td><kbd class="key">↑</kbd>, <kbd class="key">K</kbd></td><td>上のリアクションにフォーカスを移動</td><td>-</td></tr>
|
||||
<tr><td><kbd class="key">↓</kbd>, <kbd class="key">J</kbd></td><td>下のリアクションにフォーカスを移動</td><td>-</td></tr>
|
||||
<tr><td><kbd class="key">←</kbd>, <kbd class="key">H</kbd>, <kbd class="group"><kbd class="key">Shift</kbd> + <kbd class="key">Tab</kbd></kbd></td><td>左のリアクションにフォーカスを移動</td><td>-</td></tr>
|
||||
<tr><td><kbd class="key">→</kbd>, <kbd class="key">L</kbd>, <kbd class="key">Tab</kbd></td><td>右のリアクションにフォーカスを移動</td><td>-</td></tr>
|
||||
<tr><td><kbd class="key">Enter</kbd>, <kbd class="key">Space</kbd>, <kbd class="key">+</kbd></td><td>リアクション確定</td><td>-</td></tr>
|
||||
<tr><td><kbd class="key">0</kbd>~<kbd class="key">9</kbd></td><td>数字に対応したリアクションで確定</td><td>-</td></tr>
|
||||
<tr><td><kbd class="key">Esc</kbd></td><td>リアクションするのをやめる</td><td>-</td></tr>
|
||||
</tbody>
|
||||
</table>
|
2
src/docs/zh-CN/mfm.md
Normal file
2
src/docs/zh-CN/mfm.md
Normal file
@@ -0,0 +1,2 @@
|
||||
# MFM
|
||||
MFMは、Misskey Flavored Markdownの略で、Misskeyの様々な場所で使用できる専用のマークアップ言語です。 MFMで使用可能な構文は[MFMチートシート](/mfm-cheat-sheet)で確認できます。
|
13
src/docs/zh-CN/mute.md
Normal file
13
src/docs/zh-CN/mute.md
Normal file
@@ -0,0 +1,13 @@
|
||||
# 屏蔽
|
||||
|
||||
ユーザーをミュートすると、そのユーザーに関する次のコンテンツがMisskeyに表示されなくなります:
|
||||
|
||||
* タイムラインや投稿の検索結果内の、そのユーザーの投稿(およびそれらの投稿に対する返信やRenote)
|
||||
* そのユーザーからの通知
|
||||
* メッセージ履歴一覧内の、そのユーザーとのメッセージ履歴
|
||||
|
||||
ユーザーをミュートするには、対象のユーザーのユーザーページに表示されている「ミュート」ボタンを押します。
|
||||
|
||||
ミュートを行ったことは相手に通知されず、ミュートされていることを知ることもできません。
|
||||
|
||||
設定>ミュート から、自分がミュートしているユーザー一覧を確認することができます。
|
10
src/docs/zh-CN/pages.md
Normal file
10
src/docs/zh-CN/pages.md
Normal file
@@ -0,0 +1,10 @@
|
||||
# Pages
|
||||
|
||||
## 变量
|
||||
変数を使うことで動的なページを作成できます。テキスト内で <b>{ 変数名 }</b> と書くとそこに変数の値を埋め込めます。例えば <b>Hello { thing } world!</b> というテキストで、変数(thing)の値が <b>ai</b> だった場合、テキストは <b>Hello ai world!</b> になります。
|
||||
|
||||
変数の評価(値を算出すること)は上から下に行われるので、ある変数の中で自分より下の変数を参照することはできません。例えば上から <b>A、B、C</b> と3つの変数を定義したとき、<b>C</b>の中で<b>A</b>や<b>B</b>を参照することはできますが、<b>A</b>の中で<b>B</b>や<b>C</b>を参照することはできません。
|
||||
|
||||
ユーザーからの入力を受け取るには、ページに「ユーザー入力」ブロックを設置し、「変数名」に入力を格納したい変数名を設定します(変数は自動で作成されます)。その変数を使ってユーザー入力に応じた動作を行えます。
|
||||
|
||||
関数を使うと、値の算出処理を再利用可能な形にまとめることができます。関数を作るには、「関数」タイプの変数を作成します。関数にはスロット(引数)を設定することができ、スロットの値は関数内で変数として利用可能です。また、関数を引数に取る関数(高階関数と呼ばれます)も存在します。関数は予め定義しておくほかに、このような高階関数のスロットに即席でセットすることもできます。
|
11
src/docs/zh-CN/reaction.md
Normal file
11
src/docs/zh-CN/reaction.md
Normal file
@@ -0,0 +1,11 @@
|
||||
# 回应
|
||||
他の人のノートに、絵文字を付けて簡単にあなたの反応を伝えられる機能です。 リアクションするには、ノートの + アイコンをクリックしてピッカーを表示し、絵文字を選択します。 リアクションには[カスタム絵文字](./custom-emoji)も使用できます。
|
||||
|
||||
## リアクションピッカーのカスタマイズ
|
||||
ピッカーに表示される絵文字を自分好みにカスタマイズすることができます。 設定の「リアクション」で設定します。
|
||||
|
||||
## リモート投稿へのリアクションについて
|
||||
リアクションはMisskeyオリジナルの機能であるため、リモートインスタンスがMisskeyでない限りは、ほとんどの場合「Like」としてアクティビティが送信されます。一般的にはLikeは「お気に入り」として実装されているようです。 また、相手がMisskeyであったとしても、カスタム絵文字リアクションは伝わらず、自動的に「👍」等にフォールバックされます。
|
||||
|
||||
## リモートからのリアクションについて
|
||||
リモートから「Like」アクティビティを受信したとき、Misskeyでは「👍」のリアクションとして解釈されます。
|
160
src/docs/zh-CN/reversi-bot.md
Normal file
160
src/docs/zh-CN/reversi-bot.md
Normal file
@@ -0,0 +1,160 @@
|
||||
# MisskeyリバーシBotの開発
|
||||
Misskeyのリバーシ機能に対応したBotの開発方法をここに記します。
|
||||
|
||||
1. `games/reversi`ストリームに以下のパラメータを付けて接続する:
|
||||
* `i`: botアカウントのAPIキー
|
||||
|
||||
2. 対局への招待が来たら、ストリームから`invited`イベントが流れてくる
|
||||
* イベントの中身に、`parent`という名前で対局へ誘ってきたユーザーの情報が含まれている
|
||||
|
||||
3. `games/reversi/match`へ、`user_id`として`parent`の`id`が含まれたリクエストを送信する
|
||||
|
||||
4. 上手くいくとゲーム情報が返ってくるので、`games/reversi-game`ストリームへ、以下のパラメータを付けて接続する:
|
||||
* `i`: botアカウントのAPIキー
|
||||
* `game`: `game`の`id`
|
||||
|
||||
5. この間、相手がゲームの設定を変更するとその都度`update-settings`イベントが流れてくるので、必要であれば何かしらの処理を行う
|
||||
|
||||
6. 設定に満足したら、`{ type: 'accept' }`メッセージをストリームに送信する
|
||||
|
||||
7. ゲームが開始すると、`started`イベントが流れてくる
|
||||
* イベントの中身にはゲーム情報が含まれている
|
||||
|
||||
8. 石を打つには、ストリームに`{ type: 'set', pos: <位置> }`を送信する(位置の計算方法は後述)
|
||||
|
||||
9. 相手または自分が石を打つと、ストリームから`set`イベントが流れてくる
|
||||
* `color`として石の色が含まれている
|
||||
* `pos`として位置情報が含まれている
|
||||
|
||||
## 位置の計算法
|
||||
8x8のマップを考える場合、各マスの位置(インデックスと呼びます)は次のようになっています:
|
||||
```
|
||||
+--+--+--+--+--+--+--+--+
|
||||
| 0| 1| 2| 3| 4| 5| 6| 7|
|
||||
+--+--+--+--+--+--+--+--+
|
||||
| 8| 9|10|11|12|13|14|15|
|
||||
+--+--+--+--+--+--+--+--+
|
||||
|16|17|18|19|20|21|22|23|
|
||||
...
|
||||
```
|
||||
|
||||
### X,Y座標 から インデックス に変換する
|
||||
```
|
||||
pos = x + (y * mapWidth)
|
||||
```
|
||||
`mapWidth`は、ゲーム情報の`map`から、次のようにして計算できます:
|
||||
```
|
||||
mapWidth = map[0].length
|
||||
```
|
||||
|
||||
### インデックス から X,Y座標 に変換する
|
||||
```
|
||||
x = pos % mapWidth
|
||||
y = Math.floor(pos / mapWidth)
|
||||
```
|
||||
|
||||
## マップ情報
|
||||
マップ情報は、ゲーム情報の`map`に入っています。 文字列の配列になっており、ひとつひとつの文字がマス情報を表しています。 それをもとにマップのデザインを知る事が出来ます:
|
||||
* `(スペース)` ... マス無し
|
||||
* `-` ... マス
|
||||
* `b` ... 初期配置される黒石
|
||||
* `w` ... 初期配置される白石
|
||||
|
||||
例えば、4*4の次のような単純なマップがあるとします:
|
||||
```text
|
||||
+---+---+---+---+
|
||||
| | | | |
|
||||
+---+---+---+---+
|
||||
| | ○ | ● | |
|
||||
+---+---+---+---+
|
||||
| | ● | ○ | |
|
||||
+---+---+---+---+
|
||||
| | | | |
|
||||
+---+---+---+---+
|
||||
```
|
||||
|
||||
この場合、マップデータはこのようになります:
|
||||
```javascript
|
||||
['----', '-wb-', '-bw-', '----']
|
||||
```
|
||||
|
||||
## ユーザーにフォームを提示して対話可能Botを作成する
|
||||
ユーザーとのコミュニケーションを行うため、ゲームの設定画面でユーザーにフォームを提示することができます。 例えば、Botの強さをユーザーが設定できるようにする、といったシナリオが考えられます。
|
||||
|
||||
フォームを提示するには、`reversi-game`ストリームに次のメッセージを送信します:
|
||||
```javascript
|
||||
{
|
||||
type: 'init-form',
|
||||
body: [フォームコントロールの配列]
|
||||
}
|
||||
```
|
||||
|
||||
フォームコントロールの配列については今から説明します。 フォームコントロールは、次のようなオブジェクトです:
|
||||
```javascript
|
||||
{
|
||||
id: 'switch1',
|
||||
type: 'switch',
|
||||
label: 'Enable hoge',
|
||||
value: false
|
||||
}
|
||||
```
|
||||
`id` ... コントロールのID。 `type` ... コントロールの種類。後述します。 `label` ... コントロールと一緒に表記するテキスト。 `value` ... コントロールのデフォルト値。
|
||||
|
||||
### フォームの操作を受け取る
|
||||
ユーザーがフォームを操作すると、ストリームから`update-form`イベントが流れてきます。 イベントの中身には、コントロールのIDと、ユーザーが設定した値が含まれています。 例えば、上で示したスイッチをユーザーがオンにしたとすると、次のイベントが流れてきます:
|
||||
```javascript
|
||||
{
|
||||
id: 'switch1',
|
||||
value: true
|
||||
}
|
||||
```
|
||||
|
||||
### フォームコントロールの種類
|
||||
#### 开关
|
||||
type: `switch` スイッチを表示します。何かの機能をオン/オフさせたい場合に有用です。
|
||||
|
||||
##### プロパティ
|
||||
`label` ... スイッチに表記するテキスト。
|
||||
|
||||
#### ラジオボタン
|
||||
type: `radio` ラジオボタンを表示します。選択肢を提示するのに有用です。例えば、Botの強さを設定させるなどです。
|
||||
|
||||
##### プロパティ
|
||||
`items` ... ラジオボタンの選択肢。例:
|
||||
```javascript
|
||||
items: [{
|
||||
label: '弱',
|
||||
value: 1
|
||||
}, {
|
||||
label: '中',
|
||||
value: 2
|
||||
}, {
|
||||
label: '強',
|
||||
value: 3
|
||||
}]
|
||||
```
|
||||
|
||||
#### スライダー
|
||||
type: `slider` スライダーを表示します。
|
||||
|
||||
##### プロパティ
|
||||
`min` ... スライダーの下限。 `max` ... スライダーの上限。 `step` ... 入力欄で刻むステップ値。
|
||||
|
||||
#### テキストボックス
|
||||
type: `textbox` テキストボックスを表示します。ユーザーになにか入力させる一般的な用途に利用できます。
|
||||
|
||||
## ユーザーにメッセージを表示する
|
||||
設定画面でユーザーと対話する、フォーム以外のもうひとつの方法がこれです。ユーザーになにかメッセージを表示することができます。 例えば、ユーザーがBotの対応していないモードやマップを選択したとき、警告を表示するなどです。 メッセージを表示するには、次のメッセージをストリームに送信します:
|
||||
```javascript
|
||||
{
|
||||
type: 'message',
|
||||
body: {
|
||||
text: 'メッセージ内容',
|
||||
type: 'メッセージの種類'
|
||||
}
|
||||
}
|
||||
```
|
||||
メッセージの種類: `success`, `info`, `warning`, `error`。
|
||||
|
||||
## 投了する
|
||||
投了をするには、<a href="./api/endpoints/games/reversi/games/surrender">このエンドポイント</a>にリクエストします。
|
354
src/docs/zh-CN/stream.md
Normal file
354
src/docs/zh-CN/stream.md
Normal file
@@ -0,0 +1,354 @@
|
||||
# 流式API
|
||||
|
||||
ストリーミングAPIを使うと、リアルタイムで様々な情報(例えばタイムラインに新しい投稿が流れてきた、メッセージが届いた、フォローされた、など)を受け取ったり、様々な操作を行ったりすることができます。
|
||||
|
||||
## ストリームに接続する
|
||||
|
||||
ストリーミングAPIを利用するには、まずMisskeyサーバーに**websocket**接続する必要があります。
|
||||
|
||||
以下のURLに、`i`というパラメータ名で認証情報を含めて、websocket接続してください。例:
|
||||
```
|
||||
%WS_URL%/streaming?i=xxxxxxxxxxxxxxx
|
||||
```
|
||||
|
||||
認証情報は、自分のAPIキーや、アプリケーションからストリームに接続する際はユーザーのアクセストークンのことを指します。
|
||||
|
||||
<div class="ui info">
|
||||
<p><i class="fas fa-info-circle"></i> 認証情報の取得については、<a href="./api">こちらのドキュメント</a>をご確認ください。</p>
|
||||
</div>
|
||||
|
||||
---
|
||||
|
||||
認証情報は省略することもできますが、その場合非ログインでの利用ということになり、受信できる情報や可能な操作は限られます。例:
|
||||
|
||||
```
|
||||
%WS_URL%/streaming
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
ストリームに接続すると、後述するAPI操作や、投稿の購読を行ったりすることができます。 しかしまだこの段階では、例えばタイムラインへの新しい投稿を受信したりすることはできません。 それを行うには、ストリーム上で、後述する**チャンネル**に接続する必要があります。
|
||||
|
||||
**ストリームでのやり取りはすべてJSONです。**
|
||||
|
||||
## 频道
|
||||
MisskeyのストリーミングAPIにはチャンネルという概念があります。これは、送受信する情報を分離するための仕組みです。 Misskeyのストリームに接続しただけでは、まだリアルタイムでタイムラインの投稿を受信したりはできません。 ストリーム上でチャンネルに接続することで、様々な情報を受け取ったり情報を送信したりすることができるようになります。
|
||||
|
||||
### チャンネルに接続する
|
||||
チャンネルに接続するには、次のようなデータをJSONでストリームに送信します:
|
||||
|
||||
```json
|
||||
{
|
||||
type: 'connect',
|
||||
body: {
|
||||
channel: 'xxxxxxxx',
|
||||
id: 'foobar',
|
||||
params: {
|
||||
...
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
ここで、
|
||||
* `channel`には接続したいチャンネル名を設定します。チャンネルの種類については後述します。
|
||||
* `id`にはそのチャンネルとやり取りするための任意のIDを設定します。ストリームでは様々なメッセージが流れるので、そのメッセージがどのチャンネルからのものなのか識別する必要があるからです。このIDは、UUIDや、乱数のようなもので構いません。
|
||||
* `params`はチャンネルに接続する際のパラメータです。チャンネルによって接続時に必要とされるパラメータは異なります。パラメータ不要のチャンネルに接続する際は、このプロパティは省略可能です。
|
||||
|
||||
<div class="ui info">
|
||||
<p><i class="fas fa-info-circle"></i> IDはチャンネルごとではなく「チャンネルの接続ごと」です。なぜなら、同じチャンネルに異なるパラメータで複数接続するケースもあるからです。</p>
|
||||
</div>
|
||||
|
||||
### チャンネルからのメッセージを受け取る
|
||||
例えばタイムラインのチャンネルなら、新しい投稿があった時にメッセージを発します。そのメッセージを受け取ることで、タイムラインに新しい投稿がされたことをリアルタイムで知ることができます。
|
||||
|
||||
チャンネルがメッセージを発すると、次のようなデータがJSONでストリームに流れてきます:
|
||||
```json
|
||||
{
|
||||
type: 'channel',
|
||||
body: {
|
||||
id: 'foobar',
|
||||
type: 'something',
|
||||
body: {
|
||||
some: 'thing'
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
ここで、
|
||||
* `id`には前述したそのチャンネルに接続する際に設定したIDが設定されています。これで、このメッセージがどのチャンネルからのものなのか知ることができます。
|
||||
* `type`にはメッセージの種類が設定されます。チャンネルによって、どのような種類のメッセージが流れてくるかは異なります。
|
||||
* `body`にはメッセージの内容が設定されます。チャンネルによって、どのような内容のメッセージが流れてくるかは異なります。
|
||||
|
||||
### チャンネルに向けてメッセージを送信する
|
||||
チャンネルによっては、メッセージを受け取るだけでなく、こちらから何かメッセージを送信し、何らかの操作を行える場合があります。
|
||||
|
||||
チャンネルにメッセージを送信するには、次のようなデータをJSONでストリームに送信します:
|
||||
```json
|
||||
{
|
||||
type: 'channel',
|
||||
body: {
|
||||
id: 'foobar',
|
||||
type: 'something',
|
||||
body: {
|
||||
some: 'thing'
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
ここで、
|
||||
* `id`には前述したそのチャンネルに接続する際に設定したIDを設定します。これで、このメッセージがどのチャンネルに向けたものなのか識別させることができます。
|
||||
* `type`にはメッセージの種類を設定します。チャンネルによって、どのような種類のメッセージを受け付けるかは異なります。
|
||||
* `body`にはメッセージの内容を設定します。チャンネルによって、どのような内容のメッセージを受け付けるかは異なります。
|
||||
|
||||
### チャンネルから切断する
|
||||
チャンネルから切断するには、次のようなデータをJSONでストリームに送信します:
|
||||
|
||||
```json
|
||||
{
|
||||
type: 'disconnect',
|
||||
body: {
|
||||
id: 'foobar'
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
ここで、
|
||||
* `id`には前述したそのチャンネルに接続する際に設定したIDを設定します。
|
||||
|
||||
## ストリームを経由してAPIリクエストする
|
||||
|
||||
ストリームを経由してAPIリクエストすると、HTTPリクエストを発生させずにAPIを利用できます。そのため、コードを簡潔にできたり、パフォーマンスの向上を見込めるかもしれません。
|
||||
|
||||
ストリームを経由してAPIリクエストするには、次のようなデータをJSONでストリームに送信します:
|
||||
```json
|
||||
{
|
||||
type: 'api',
|
||||
body: {
|
||||
id: 'xxxxxxxxxxxxxxxx',
|
||||
endpoint: 'notes/create',
|
||||
data: {
|
||||
text: 'yee haw!'
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
ここで、
|
||||
* `id`には、APIのレスポンスを識別するための、APIリクエストごとの一意なIDを設定する必要があります。UUIDや、簡単な乱数のようなもので構いません。
|
||||
* `endpoint`には、あなたがリクエストしたいAPIのエンドポイントを指定します。
|
||||
* `data`には、エンドポイントのパラメータを含めます。
|
||||
|
||||
<div class="ui info">
|
||||
<p><i class="fas fa-info-circle"></i> APIのエンドポイントやパラメータについてはAPIリファレンスをご確認ください。</p>
|
||||
</div>
|
||||
|
||||
### レスポンスの受信
|
||||
|
||||
APIへリクエストすると、レスポンスがストリームから次のような形式で流れてきます。
|
||||
|
||||
```json
|
||||
{
|
||||
type: 'api:xxxxxxxxxxxxxxxx',
|
||||
body: {
|
||||
...
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
ここで、
|
||||
* `xxxxxxxxxxxxxxxx`の部分には、リクエストの際に設定された`id`が含まれています。これにより、どのリクエストに対するレスポンスなのか判別することができます。
|
||||
* `body`には、レスポンスが含まれています。
|
||||
|
||||
## 投稿のキャプチャ
|
||||
|
||||
Misskeyは投稿のキャプチャと呼ばれる仕組みを提供しています。これは、指定した投稿のイベントをストリームで受け取る機能です。
|
||||
|
||||
例えばタイムラインを取得してユーザーに表示したとします。ここで誰かがそのタイムラインに含まれるどれかの投稿に対してリアクションしたとします。
|
||||
|
||||
しかし、クライアントからするとある投稿にリアクションが付いたことなどは知る由がないため、リアルタイムでリアクションをタイムライン上の投稿に反映して表示するといったことができません。
|
||||
|
||||
この問題を解決するために、Misskeyは投稿のキャプチャ機構を用意しています。投稿をキャプチャすると、その投稿に関するイベントを受け取ることができるため、リアルタイムでリアクションを反映させたりすることが可能になります。
|
||||
|
||||
### 投稿をキャプチャする
|
||||
|
||||
投稿をキャプチャするには、ストリームに次のようなメッセージを送信します:
|
||||
|
||||
```json
|
||||
{
|
||||
type: 'subNote',
|
||||
body: {
|
||||
id: 'xxxxxxxxxxxxxxxx'
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
ここで、
|
||||
* `id`にキャプチャしたい投稿の`id`を設定します。
|
||||
|
||||
このメッセージを送信すると、Misskeyにキャプチャを要請したことになり、以後、その投稿に関するイベントが流れてくるようになります。
|
||||
|
||||
例えば投稿にリアクションが付いたとすると、次のようなメッセージが流れてきます:
|
||||
|
||||
```json
|
||||
{
|
||||
type: 'noteUpdated',
|
||||
body: {
|
||||
id: 'xxxxxxxxxxxxxxxx',
|
||||
type: 'reacted',
|
||||
body: {
|
||||
reaction: 'like',
|
||||
userId: 'yyyyyyyyyyyyyyyy'
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
ここで、
|
||||
* `body`内の`id`に、イベントを発生させた投稿のIDが設定されます。
|
||||
* `body`内の`type`に、イベントの種類が設定されます。
|
||||
* `body`内の`body`に、イベントの詳細が設定されます。
|
||||
|
||||
#### イベントの種類
|
||||
|
||||
##### `reacted`
|
||||
その投稿にリアクションがされた時に発生します。
|
||||
|
||||
* `reaction`に、リアクションの種類が設定されます。
|
||||
* `userId`に、リアクションを行ったユーザーのIDが設定されます。
|
||||
|
||||
例:
|
||||
```json
|
||||
{
|
||||
type: 'noteUpdated',
|
||||
body: {
|
||||
id: 'xxxxxxxxxxxxxxxx',
|
||||
type: 'reacted',
|
||||
body: {
|
||||
reaction: 'like',
|
||||
userId: 'yyyyyyyyyyyyyyyy'
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
##### `deleted`
|
||||
その投稿が削除された時に発生します。
|
||||
|
||||
* `deletedAt`に、削除日時が設定されます。
|
||||
|
||||
例:
|
||||
```json
|
||||
{
|
||||
type: 'noteUpdated',
|
||||
body: {
|
||||
id: 'xxxxxxxxxxxxxxxx',
|
||||
type: 'deleted',
|
||||
body: {
|
||||
deletedAt: '2018-10-22T02:17:09.703Z'
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
##### `pollVoted`
|
||||
その投稿に添付されたアンケートに投票された時に発生します。
|
||||
|
||||
* `choice`に、選択肢IDが設定されます。
|
||||
* `userId`に、投票を行ったユーザーのIDが設定されます。
|
||||
|
||||
例:
|
||||
```json
|
||||
{
|
||||
type: 'noteUpdated',
|
||||
body: {
|
||||
id: 'xxxxxxxxxxxxxxxx',
|
||||
type: 'pollVoted',
|
||||
body: {
|
||||
choice: 2,
|
||||
userId: 'yyyyyyyyyyyyyyyy'
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
### 投稿のキャプチャを解除する
|
||||
|
||||
その投稿がもう画面に表示されなくなったりして、その投稿に関するイベントをもう受け取る必要がなくなったときは、キャプチャの解除を申請してください。
|
||||
|
||||
次のメッセージを送信します:
|
||||
|
||||
```json
|
||||
{
|
||||
type: 'unsubNote',
|
||||
body: {
|
||||
id: 'xxxxxxxxxxxxxxxx'
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
ここで、
|
||||
* `id`にキャプチャを解除したい投稿の`id`を設定します。
|
||||
|
||||
このメッセージを送信すると、以後、その投稿に関するイベントは流れてこないようになります。
|
||||
|
||||
# チャンネル一覧
|
||||
## `main`
|
||||
アカウントに関する基本的な情報が流れてきます。このチャンネルにパラメータはありません。
|
||||
|
||||
### 流れてくるイベント一覧
|
||||
|
||||
#### `renote`
|
||||
自分の投稿がRenoteされた時に発生するイベントです。自分自身の投稿をRenoteしたときは発生しません。
|
||||
|
||||
#### `mention`
|
||||
誰かからメンションされたときに発生するイベントです。
|
||||
|
||||
#### `readAllNotifications`
|
||||
自分宛ての通知がすべて既読になったことを表すイベントです。このイベントを利用して、「通知があることを示すアイコン」のようなものをオフにしたりする等のケースが想定されます。
|
||||
|
||||
#### `meUpdated`
|
||||
自分の情報が更新されたことを表すイベントです。
|
||||
|
||||
#### `follow`
|
||||
自分が誰かをフォローしたときに発生するイベントです。
|
||||
|
||||
#### `unfollow`
|
||||
自分が誰かのフォローを解除したときに発生するイベントです。
|
||||
|
||||
#### `followed`
|
||||
自分が誰かにフォローされたときに発生するイベントです。
|
||||
|
||||
## `homeTimeline`
|
||||
ホームタイムラインの投稿情報が流れてきます。このチャンネルにパラメータはありません。
|
||||
|
||||
### 流れてくるイベント一覧
|
||||
|
||||
#### `note`
|
||||
タイムラインに新しい投稿が流れてきたときに発生するイベントです。
|
||||
|
||||
## `localTimeline`
|
||||
ローカルタイムラインの投稿情報が流れてきます。このチャンネルにパラメータはありません。
|
||||
|
||||
### 流れてくるイベント一覧
|
||||
|
||||
#### `note`
|
||||
ローカルタイムラインに新しい投稿が流れてきたときに発生するイベントです。
|
||||
|
||||
## `hybridTimeline`
|
||||
ソーシャルタイムラインの投稿情報が流れてきます。このチャンネルにパラメータはありません。
|
||||
|
||||
### 流れてくるイベント一覧
|
||||
|
||||
#### `note`
|
||||
ソーシャルタイムラインに新しい投稿が流れてきたときに発生するイベントです。
|
||||
|
||||
## `globalTimeline`
|
||||
グローバルタイムラインの投稿情報が流れてきます。このチャンネルにパラメータはありません。
|
||||
|
||||
### 流れてくるイベント一覧
|
||||
|
||||
#### `note`
|
||||
グローバルタイムラインに新しい投稿が流れてきたときに発生するイベントです。
|
68
src/docs/zh-CN/theme.md
Normal file
68
src/docs/zh-CN/theme.md
Normal file
@@ -0,0 +1,68 @@
|
||||
# 主题
|
||||
|
||||
テーマを設定して、Misskeyクライアントの見た目を変更できます。
|
||||
|
||||
## テーマの設定
|
||||
設定 > テーマ
|
||||
|
||||
## テーマを作成する
|
||||
テーマコードはJSON5で記述されたテーマオブジェクトです。 テーマは以下のようなオブジェクトです。
|
||||
``` js
|
||||
{
|
||||
id: '17587283-dd92-4a2c-a22c-be0637c9e22a',
|
||||
|
||||
name: 'Danboard',
|
||||
author: 'syuilo',
|
||||
|
||||
base: 'light',
|
||||
|
||||
props: {
|
||||
accent: 'rgb(218, 141, 49)',
|
||||
bg: 'rgb(218, 212, 190)',
|
||||
fg: 'rgb(115, 108, 92)',
|
||||
panel: 'rgb(236, 232, 220)',
|
||||
renote: 'rgb(100, 152, 106)',
|
||||
link: 'rgb(100, 152, 106)',
|
||||
mention: '@accent',
|
||||
hashtag: 'rgb(100, 152, 106)',
|
||||
header: 'rgba(239, 227, 213, 0.75)',
|
||||
navBg: 'rgb(216, 206, 182)',
|
||||
inputBorder: 'rgba(0, 0, 0, 0.1)',
|
||||
},
|
||||
}
|
||||
|
||||
```
|
||||
|
||||
* `id` ... テーマの一意なID。UUIDをおすすめします。
|
||||
* `name` ... テーマ名
|
||||
* `author` ... テーマの作者
|
||||
* `desc` ... テーマの説明(オプション)
|
||||
* `base` ... 明るいテーマか、暗いテーマか
|
||||
* `light`にすると明るいテーマになり、`dark`にすると暗いテーマになります。
|
||||
* テーマはここで設定されたベーステーマを継承します。
|
||||
* `props` ... テーマのスタイル定義。これから説明します。
|
||||
|
||||
### テーマのスタイル定義
|
||||
`props`下にはテーマのスタイルを定義します。 キーがCSSの変数名になり、バリューで中身を指定します。 なお、この`props`オブジェクトはベーステーマから継承されます。 ベーステーマは、このテーマの`base`が`light`なら[_light.json5](https://github.com/syuilo/misskey/blob/develop/src/client/themes/_light.json5)で、`dark`なら[_dark.json5](https://github.com/syuilo/misskey/blob/develop/src/client/themes/_dark.json5)です。 つまり、このテーマ内の`props`に`panel`というキーが無くても、そこにはベーステーマの`panel`があると見なされます。
|
||||
|
||||
#### バリューで使える構文
|
||||
* 16進数で表された色
|
||||
* 例: `#00ff00`
|
||||
* `rgb(r, g, b)`形式で表された色
|
||||
* 例: `rgb(0, 255, 0)`
|
||||
* `rgb(r, g, b, a)`形式で表された透明度を含む色
|
||||
* 例: `rgba(0, 255, 0, 0.5)`
|
||||
* 他のキーの値の参照
|
||||
* `@{キー名}`と書くと他のキーの値の参照になります。`{キー名}`は参照したいキーの名前に置き換えます。
|
||||
* 例: `@panel`
|
||||
* 定数(後述)の参照
|
||||
* `${定数名}`と書くと定数の参照になります。`{定数名}`は参照したい定数の名前に置き換えます。
|
||||
* 例: `$main`
|
||||
* 関数(後述)
|
||||
* `:{関数名}<{引数}<{色}`
|
||||
|
||||
#### 常量
|
||||
「CSS変数として出力はしたくないが、他のCSS変数の値として使いまわしたい」値があるときは、定数を使うと便利です。 キー名を`$`で始めると、そのキーはCSS変数として出力されません。
|
||||
|
||||
#### 函数
|
||||
wip
|
15
src/docs/zh-CN/timelines.md
Normal file
15
src/docs/zh-CN/timelines.md
Normal file
@@ -0,0 +1,15 @@
|
||||
# タイムラインの比較
|
||||
|
||||
https://docs.google.com/spreadsheets/d/1lxQ2ugKrhz58Bg96HTDK_2F98BUritkMyIiBkOByjHA/edit?usp=sharing
|
||||
|
||||
## 首页
|
||||
自分のフォローしているユーザーの投稿
|
||||
|
||||
## 本地
|
||||
全てのローカルユーザーの「ホーム」指定されていない投稿
|
||||
|
||||
## 社交
|
||||
自分のフォローしているユーザーの投稿と、全てのローカルユーザーの「ホーム」指定されていない投稿
|
||||
|
||||
## 全局
|
||||
全てのローカルユーザーの「ホーム」指定されていない投稿と、サーバーに届いた全てのリモートユーザーの「ホーム」指定されていない投稿
|
Reference in New Issue
Block a user