.NET Core向けにMastodonライブラリを作った

Mastodon

言わずと知れたTwitterライクなSNSです。 が、一つのサーバーではなく複数のサーバーを各人が別々に運営しているのが大きな特徴です。

Wikipediaより引用  「脱中央集権型」 (decentralized) のマストドンのサーバーはだれでも自由に運用する事が可能であり、 利用者は通常このサーバーの一つを選んで所属するが、 異なるサーバーに属する利用者間のコミュニケーションも容易である。

TootNet

いろいろな事情があり、新しく.NET Core向けにMastodonのライブラリを作成しました。 NuGetからダウンロードすることができます。 https://www.nuget.org/packages/TootNet

GitHubソースコードも公開しています。 https://github.com/cucmberium/TootNet

以下雑記

雑記

私が作っているTwitter & MastodonクライアントであるFlantterではTwitterAPIを叩くライブラリとして CoreTweetを使用しています。 このライブラリはAPIURIにもとづいて直感的に使える他、ほぼすべてのTwitterAPIを網羅しており非常に重宝しています。

一方のMastodonはというと、mstdn.jppawoo.netができ、 バズった直後においては様々な開発者がこぞってライブラリを作成しました。

GithubでMastodonを検索した結果 (C#)

しかしながら現在メンテナンスされている(と思われる)ライブラリはMastonetのみです。 Mastonetに関してもLink header RFCに対応しておらず、 いわゆるTwitterAPIで言うところのcursorを使うことができません(アカウントとかを遡れない)。 現在は対応されています。

いちいちプルリクエストを投げて自分のいいように修正してもらうのも大変だと思い、 かつ、forkして好きなように作り変えていくくらいなら自分好みのライブラリを作ったほうがいいと思ったため 新しくMastodon向けライブラリを作るに至りました。

その他

クラッチで1から作るほどの気力がないというのと、CoreTweetライクに叩けたほうが自分のクライアントに組み込むとき便利だろうと考え、 CoreTweetとMastonetのコードのいいとこ取りをしつつ、最新のMastodon2.0でも使えるようなライブラリになりました。 (半分くらいコピペかも)

プルリクお待ちしています。 https://github.com/cucmberium/TootNet