Misskey
読み:みすきー
外語:Misskey

 オープンソースによるマイクロブログサービスを提供する実装の一つで、ソーシャルネットワークを実現する手段の一つ。
目次

概要
 TypeScriptとNode.jsで実装されており、またVue.jsで非常に個性的(それは必ずしも実用的、使いやすいを意味しない)なWebUIを提供している。
 オープンソースで、ライセンスはAGPL 3.0となっている。
 2018(平成30)年4月8日にサーバー間通信プロトコルActivityPubに対応したことで分散型SNSへと進化した。これ以降、マイクロブログとして一番人気のMastodonのサーバーとも相互に交信可能となりFediverseに参加できるSNSの一つとなった。
 Misskeyという名称は、メイン開発者syuilo氏がたまたま聴いていたMay'nの楽曲「Brain Diver」の歌詞から採られた。

特徴

利点
 数多ある似たようなサービスの中で、Misskeyを選ぶべき理由としては次のようなものがある。

装飾
 Misskeyの、Mastodonやかつて使われていたTwitterとの大きな違いは、お気に入り/イイネに相当する機能が絵文字の貼り付け(リアクション)となっている点にある。このため、Misskeyにおける交流の柱は、このリアクションとなる。
 文章による返信などをする必要なく絵文字リアクションで簡単に感想を送ることができるため、速やかにかつ大量に反響が得られる。このためかつて使われていたTwitterからの移行先として人気のある二大Fediverse実装のうち地味なMastodonと比べ、こちらMisskeyは承認欲求モンスター御用達となっている。
 また全体としてとにかく多機能で、中でもやたら派手な装飾機能(MFM)が標準搭載されていることとが挙げられる。この機能の具体的なことは後述する。

用語
 用語はインスタンスごとに変更可能なため、インスタンスによっては雰囲気に合わせて変更していることがある。

投稿

ノート
 Mastodonの場合は「トゥート」(吠える)、かつて使われていたTwitterの場合は「ツイート」(ぶつやき)であるが、Misskeyの投稿はノートという。
 また、誰かに対する返信は返信(またはリプライ)、相手先を指定した投稿を「メンション」というのは、他のSNSと同様である。

返信
 ある人のノートに対して、ノートで返信することができる。返信は、英語でReplyであるためカタカナで「リプライ」とも呼ばれる。
 また、特にノートを指定せず、相手先だけを指定してノートをすることも可能で、これをメンションという。
 いずれの場合も、公開範囲を指定しないとローカルタイムライン(LTL)に収載されるため注意が必要である。

公開範囲
 「連合あり」と「連合なし」がある。連合なしに設定すると他のサーバーにノートは送られないため、他のサーバーから検索されたりRenoteされたりすることもない(と期待される)が、分散型SNSは他のサーバーと交流するものなので、よほど恥ずかしいノートでない限りは連合なしには設定すべきではない。
 その上で、公開範囲は次の三種類がある。

ピン留め
 ユーザーページに固定的に表示するノートを選択する機能である。
 かつて使われていたTwitterの類似機能は一つだけだが、それが複数個可能である。いくつまで可能かはサーバーの設定しだいだが、概ね10ノート程度まで可能。

画像

投稿画像の扱い
 画像などアップロードされたファイルは、各ユーザーが持つ「ドライブ」と呼ばれる領域に保存される。ファイル名もアップロード時点のものがそのまま保持される。
 すけべな絵など、閲覧注意である場合は各画像単位に設定する(投稿単位ではない)。WebUIを使っている場合は、画像をアップロード後、それをタップして出るメニューから「閲覧注意にする」を選ぶ。Mastodonのように投稿自体をCW(内容を隠す)にしても画像は自動的には閲覧注意設定にならないので注意が必要である。
 もし投稿後に設定忘れに気づいた場合は、急いでドライブを開き、その画像をタップして同様に閲覧注意を設定すれば一応は良い。但し連合に流れていったノートの設定は変わらないので、一旦ノートを削除したほうが安全かもしれない。閲覧注意に設定された画像は、ドライブの表示では閲覧注意が目立つように表示される。
 ファイル名もアップロード直後のほか、後からドライブで変更することもできるが、後から変更しても既に投稿したノートでのファイル名は変わらない(らしい)。

一度に添付できる枚数
 サーバーの設定にもよるが、標準的には一つのノートに最大16枚の画像等を添付できる。
 但し、その16枚全てを見られるのはMisskeyユーザーだけだと思ったほうが良い。Mastodonは添付4枚までしか対応していないため、5枚以上画像があってもそのうち4枚しか見ることができない。
 直接サーバーまで見に行けば見ることはできるが、Mastodonユーザーのフォロワーがいる場合は4枚までに抑えるか、画像が5枚以上ある旨を記載したほうが良い。

Renote
 ノート(投稿)の再配信がRenoteである。
 Mastodonやかつて使われていたTwitterと違い、前のRenoteを取り消すことなく何度でもできる。
 加えて、Mastodonと違いRenoteするとローカルタイムラインに表示される。ゆえにリアクションが欲しい場合はひたすらRenoteし続ければ良いことになる。

絵文字リアクション
 Mastodonやかつて使われていたTwitterとの大きな違いは、このリアクションにある。
 Mastodonやかつて使われていたTwitterは、ブースト(リツイート)とお気に入り(★または〓)があるが、Misskeyの場合はRenoteとリアクションがある。
 リアクションは、WebUIでは + アイコンであり、クリックしてピッカーから絵文字を選ぶことで、それをノート(投稿)に加えることでお気に入りの意思または何らかの返答を示す。既に自分が付け加えたかった絵文字がノートに付いていれば、それをクリックするだけでも良い。通常は良い印象の絵文字を送るが、当然悪い印象の(カスタム絵文字を含む)絵文字を送ることも可能である。
 絵文字リアクションはMisskeyにおいて特に重要なものなので設定からカスタマイズが可能で、よく使うものを予め選んでおいたり、ピッカーウィンドウのサイズを設定したりが可能である。
 この機能はMisskeyオリジナルであるため、他の実装たとえば標準的なMastodonに通知されるときはお気に入り(Like)★として通知されることになる。一方、標準的なMastodonなどリモートから気に入り(Like)」アクティビティを受信したときは〓のリアクションとみなして解釈される。
 わかりやすく言うと、標準的なMastodonからMisskeyインスタンスのアカウントをフォローし、その投稿に★を送ると、相手には〓が届くということである。逆に自分の投稿がMisskeyユーザーに気に入られRenote(Mastodon用語でブースト)された先で色々な絵文字で満艦飾にされても、標準的なMastodonに届く通知は全て★としか解釈されず、どのような絵文字が付けられたかは相手先を見に行かないと分からない。
 なお、Mastodonでも、Fedibirdでは独自にMisskeyと互換性のある絵文字リアクション機能が搭載されている。

分散型SNS

分散について
 Misskeyは分散型SNSである。Misskeyと呼ばれるシステムが動くサーバーが世界中に無数にあり、それぞれが緩く連携している。
 こういった仕組みをFediverse(フェディバース)という。詳細はそちらを参照のこと。

サーバー(インスタンス)
 Misskeyが実際に動作するコンピューターを「サーバー」という。以前は「インスタンス」と呼んでいたが、分かりやすい用語への変更のため、サーバーに変更された。
 サーバー(インスタンス)は幾つあってもよい。
 分散型とはいえ基本的にはサーバー内に閉じていて、必要に応じて外部に転送する仕組みになっている。従って、特定の趣向に合わせてサーバーを作るのが理想的であり、実際にそのようにサーバーは林立している。
 Twitterでも、「クラスター」という目に見えないしシステムにすらもない狭い範囲内でフォローし合い交流し、時々クラスター外の有名人をフォローしたりするのが一般的である。MisskeyなどのFediverseでは、このクラスターごとに本当にサーバーを分けた、と表現できる。つまり、Twitterでいうクラスターが、Misskeyでいうサーバーである。
 そして、サーバー間を相互に通信プロトコルで繋ぐことで、異なるサーバー間での通信を可能としている。これが「分散型SNS」である。
 ローカルタイムラインの雰囲気は重要な要素であるため、Misskeyを使いたい人は、自分が気に入ったサーバーに入会しアカウントを作って使うことになる。

サーバー間通信
 誰からもフォローされていないアカウントがトゥートしても、おそらくそれはそのサーバーに留まり、外へは流れない。しかしリモートフォローなど特定の条件を満たすと、そのトゥートは他のサーバーにも転送される。この手法によってサーバー間での交信が可能となる。
 こうして、そのサーバー内でのタイムラインは「ローカルライムライン」、リモートフォローなどによって他のサーバーから受信したトゥートも込みのタイムラインは「グローバルタイムライン」として、分けて表示されている。

連合
 ローカルタイムラインに加え、連合する他のサーバーの一部ユーザーも見えるのがグローバルタイムラインであるが、ではこの連合とは何でありどのような仕組みなのか。
 Misskeyはかつて使われていたTwitterのような中央集権的なシステムではないので、全体を管理する機構は存在しない。従って、どこかに中央サーバーがあってそこで各サーバーの情報が交換されていたりするわけではない。Misskeyはサーバーを超えたフォローをすることができるが、このフォロー行為のみによってゆるい「連合」が形成される。
 自分の投稿や自分がRenoteした投稿は、自分をフォローしている人に配信される。それが他のサーバーであれば、他のサーバーにその投稿が届く。こうして集まってきた他のサーバーの投稿とローカルタイムラインを足したものがグローバルタイムラインである。
 もう少し簡単に言うと、そのサーバーにいる全ユーザー、およびその全ユーザーがフォローしている他のサーバーのユーザーのトゥートのうち、公開範囲が「公開」になっているもの全てが流れていくタイムライン。それがグローバルタイムラインである。

どのサーバーを使うか
 既にあるサーバーを使わせてもらってもよいし、自分でサーバーを立てることもできる。この辺りの詳細はFediverse(フェディバース)の項を参照のこと。
 別に何ヶ所のサーバーに登録しても良く、用途に応じて分けるのが理想的である。専用クライアントソフトでは複数のアカウントを管理できるものが一般的なため、必要なだけアカウントを作って適当に使って安住のサーバーを選ぶのが現実的である。
 あまりアカウントを増やさずやりたいという場合は、どこか一つないし少数に絞る必要が出てくる。
 日本での主流サーバーは数ヶ所で、それ以外は過疎である。ただ考える必要があるのは、人が多く賑やだからといって自分の趣味趣向に合う人が多いとも限らないこと。人は少ないが他の小規模な専門サーバーの方が趣味に合う人が多く話が弾む可能性もある。結局のところ、どのサーバーを使うか(≒どのクラスターに属するか)悩むというのが、Misskeyなどにおける一番の問題であると言え、これをどのように解消するかが今後の課題だろう。
 サーバーによって住人は違うので、自分の肌にあったところを使えば良い。

主なサーバー

補足

MFM

MFMとは
 MFMとはMisskey Flavored Markdownで、簡単に言えばMisskeyで使える専用のマークアップ言語であり、文字の装飾などができる。
 KaTeXを使ったマークアップも可能である。
 基本的な書式は、$[関数名.オプション(,オプション2個目) 対象] である。オプションが複数ある場合は,で区切る。マークアップを入れ子にすることが可能だが、改行を含めることはできない。
 なお、動きのあるMFMについては設定がONになっていないと動作しない。サーバーの設定で初期設定がOFFになっていることがあるので注意が必要である。

主な機能一覧

$[??? ]機能
 ノート入力欄に $ と入れると色々出てくるので、適当に選ぶことができる。

HTML
 HTMLと同様、範囲を囲んで使う。
 plainは、後に述べる```で囲むのと同じ機能である。

その他
 また、``` で前後を囲むと改行を含めたヒアドキュメント機能が利用できる。

色を変える
 色を変えるのは、字の色fg、背景色はbgである。
 $[fg 字]
 何も付けないと、字の色が赤になる。
 $[fg.color=0f0 字]
 $[fg.color=00ff00 字]
 3桁または6桁の16進数でRGBの輝度を表わし色を決める。なお、絵文字の色は変えられない。

フォントを変える
 $[font.名称 文章] の形式で使うことができる。

大きくする
 良く使われている機能が、文字を大きくするもの。2倍、3倍、4倍までの整数倍が可能である。
 $[x4 〓]
 カスタム絵文字を含む絵文字を含めることができるため、様々な装飾で使われている。

小さくする small
 独り言、小言などを言いたい時は次のようにする。これはMFMではなくHTML要素である。
 <small>〓</small>

回転 rotate
 文字の角度を変えたい場合はrotateである。
 $[rotate 回転させたい文章]
 例えばプリンを横90度に傾けたいなら次のようにする。
 $[rotate.deg=90 〓]

アニメーション spin (その1)
 クルクルと回転させたい場合はspinである。
 $[spin 回転させたい文章]
 標準では時計回り(right)だが、反時計回りにもできる。
 $[spin.left 回転させたい文章]
 標準では2秒かけて一周するが、速くしたり遅くしたりもできる。
 $[spin.left,speed=0.1s 回転させたい文章]
 leftとspeedを両方指定指定する場合は,区切りである。

アニメーション spin (その2)
 spinでは、縦回転と横回転が可能である。
 $[spin.x 回転させたい文章]
 $[spin.y 回転させたい文章]

MARQUEE
 左右に揺らす方法。直接の方法はないがspinを三重にかけることで実現できる。
 $[x3 $[spin.speed=2s $[spin.left,speed=1s $[spin.speed=2s 〓]  ]  ]]
 最後に空白を入れておくことがポイントである。

TeX構文
 \( と \) の間に書いた文章はTeXとして認識される。

中央寄せ center
 これはMFMではなくHTML要素である。このため一番外側で囲むように使う。
 <center>$[x4 〓]</center>

他のサーバーの投稿へのアクセス
 Fediverseは、投稿のオリジナルは最初に投稿したサーバーにあるが、それは全世界に隈なく配信されるわけではない。
 他のサーバーに気に入ったアカウントがあってフォローしたとしても、自分のサーバーにそのアカウントの投稿が届いてるとは限らず、届いていない場合はRenoteもリアクションもできない。その場合、その投稿のURLをまず得る。
 それがMisskeyでもMastodonでも、大抵は「●●時間前」などの表示のリンク先が投稿のURLであるので、それをクリップボードにコピーする。
 次に、「検索」機能を選びそのURLを入力してOKすると、その投稿が自分のサーバーに読み込まれる。それに対し、Renoteやリアクションをすることができる。
 但し、その投稿がRenoteできない設定である(連合なしだったり、公開範囲がフォロワーやダイレクトである)場合は、検索に失敗する。

絵文字
 Unicodeにある絵文字のほか、カスタム絵文字と呼ばれるサーバーごとに自由に登録できる絵文字が利用できる。
 カスタム絵文字は :名前: 形式で表現するのはMastodonと同じだが、Mastodonと違って前後に空白は不要である。但し最後の:の後、数字など特定の文字がある場合は正常に機能しないため、この場合は空白をあける必要がある。
 またMisskeyは横長絵文字が可能である。Mastodonの絵文字は原則正方形であり横長絵文字に対応していないため、Misskeyの投稿をMastodonで見ると正方形に圧縮されて表示され文字が潰れてほぼ読み取れない。

実績解除(お遊び機能)
 Misskeyには、ユーザーがのめり込める遊び要素として「実績」がある。サーバーによっては実績が設定されていないこともあるが、代表的なサーバーであるMisskey.ioなどでは対応している。
 取得した実績はプロフィール→実績から確認可能で、取得可能な全てを一覧するにはメニューの「もっと!」の中の実績から確認できる。改造されているサーバーでは異なる可能性があるが、v13.9.1 時点で73個の実績が存在するらしいことが一覧から確認できる。
 以下、73個全ての名称と解除条件を併記する。回数や日数については全て「実績機能の追加以降で」のもの。

フォーク
 Misskeyからのフォーク(派生)に、Groundpolisがあったが、既に開発を終了している。

再検索