algebraic dialy(2021年1月)

なにかあったらすぐtwitterに書いてしまうのであまり更新しません

[an error occurred while processing this directive]

選択公理botを再始動させました

この冬休みに、選択公理bot(@AxiomderAuswahl)を再始動させました。

選択公理botはC#で書かれていて(最初はPHPでしたが…)、.NET Frameworkにより動いていました。それはつまりwindowsサーバー上で動いていたということです。windowsサーバーは(ライセンス料などもあって?)高いのですが、なんと月額250円(?!)のwindowsレンタルサーバーが以前あったのでそれを使っていました。ところが流石に安すぎたのかサービス終了、それに伴い選択公理botも停止状態となっていました。

ところで何年か前から.NET Frameworkをwindows以外でも動かせるようにしようという動きがあり、それが.NET Coreと呼ばれるものです。その最新バージョンである.NET 5が2020年11月にリリースされました。(.NET 5は.NET Frameworkの次期バージョンでもあります。)選択公理botはこの.NET 5を使い、Ubuntuサーバー上で動かしています。基本的には.NET Frameworkのときとほぼ同じソースコードで、対象フレームワークを.NET 5に変えただけで動いています。

実際にやり方についてはMicorsoftの公式ドキュメントが詳しいです(Nginx 搭載の Linux で ASP.NET Core をホストする)。また選択公理botのような、定期的に実行するようなものについても公式が参考になります(ASP.NET Core でホステッド サービスを使用するバックグラウンド タスク)。

また今回、リプライへの反応についてはTwitterの新しいAPIを使用するようにしました。webhookと言われているやつです。これはQiitaの記事が参考になります(【エラーコード別解説】Twitter の Account Activity API の Webhook URL が登録できないときの解決法)。