.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ではTwitterのAPIを叩くライブラリとして CoreTweetを使用しています。 このライブラリはAPIのURIにもとづいて直感的に使える他、ほぼすべてのTwitterAPIを網羅しており非常に重宝しています。
一方のMastodonはというと、mstdn.jpやpawoo.netができ、 バズった直後においては様々な開発者がこぞってライブラリを作成しました。
しかしながら現在メンテナンスされている(と思われる)ライブラリはMastonetのみです。
Mastonetに関してもLink header RFCに対応しておらず、
いわゆるTwitterAPIで言うところのcursorを使うことができません(アカウントとかを遡れない)。
現在は対応されています。
いちいちプルリクエストを投げて自分のいいように修正してもらうのも大変だと思い、 かつ、forkして好きなように作り変えていくくらいなら自分好みのライブラリを作ったほうがいいと思ったため 新しくMastodon向けライブラリを作るに至りました。
その他
スクラッチで1から作るほどの気力がないというのと、CoreTweetライクに叩けたほうが自分のクライアントに組み込むとき便利だろうと考え、 CoreTweetとMastonetのコードのいいとこ取りをしつつ、最新のMastodon2.0でも使えるようなライブラリになりました。 (半分くらいコピペかも)
プルリクお待ちしています。 https://github.com/cucmberium/TootNet