これはかんなすきーアドベントカレンダー2024の8日目の記事です。
去年(2023年)の5月頃に、Misskeyの過去投稿をMeilisearchへ登録するツールaminomeを作りました。
参考: Misskeyの過去投稿をMilisearchに登録するツールaminomeを作った
当時はとりあえず動けばいいとの思いから、ソースコードの中に接続先のデータベースやパスワードをべた書きする必要がありました。
これだと、複数のサーバーを運営している場合は、都度書き換えるか、ソースコードをコピーして書き換える手間が発生します。
いつか直したいという気持ちはありつつ、1年以上放置していました。
今回の改修点は何か
変更点は次のとおりです。
- 設定の外部ファイル化を行いました。
- 設定ファイルのpathをコマンドラインで指定できるようになりました。
- 1回のクエリで取得するノート数をコマンドラインで指定できるようになりました。
- 登録するノートのscopeをlocalまたはglobalから選べるようになりました。
- Meilisearchのhttps対応を行いました。
大きな変更点としては、今回のv1リリースで、設定の外部化を行いました。
設定はファイルに書けばよく、aminomeのソースコードにべた書きしなくてよくなりました。
過去のバージョンと互換性はなくなりました。v1より前のバージョンをご利用の方は、バージョンアップしたら設定ファイルを作成してください。
(バージョンアップしなくてもMeilisearchへの登録は引き続きできるので、しなくても大丈夫です。)
設定ファイルもpathを指定して読み込めるようになりました。
複数サーバーがある場合は、設定ファイルを複数用意すれば済みます。
登録する投稿をローカルのみにするか、連合も含むか選べるようになりました。
Meilisearchのhttps対応もやりました。(これまではソースコードをいじってhttpの末尾にsをつける必要がありました。)
Misskeyのdefault.confフォーマットに準拠して作ったつもりですが、動作確認はしてないです。
細かいところとしては、コマンドラインオプションをいくつか追加したり、 -h
でヘルプを表示できるようにしました。
あとがき
とりあえず自分用に書いて放置してたのですが、思っていたより使われている方がいらっしゃったようで、設定をべた書きさせてごめんねの気持ちで過ごしていました。
が、v1リリースでそんな気持ちともおさらばです。ブヒ。
とりあえず動くと満足してしまったのと、いずれMisskeyに(投稿の登録機能が)実装されるだろうと思っていたので、改修するモチベが無くなりがちでした。
ここ数年は全然コードを書かない生活を送っていたので、良いリハビリになりました。久しぶりに楽しさを感じながらプログラミングできた気がします。
将来的にはエラーハンドリングをもっとしっかりしたり、コードの整形やログ出力も実装したいけど、気が向いたらやります。
バグを見つけたらプルリクエストを作って送ってください。 それでは、今日はこの辺で失礼します。