Mastodonのフォロイーとフォロワーを初期化する機能追加

mastodon
タグ: #<Tag:0x00007f6c0d9cbf28>
#1

Mastodonのtootctlの機能として、指定ユーザーのフォロー関係を初期化するコマンドを作ってみました

  • フォロイー(フォローしている人)をすべてアンフォローする
  • フォロワーをすべてアンフォローする
  • サイト設定の『新規ユーザーが自動フォローするアカウント』をフォローする
  • 招待で作成されたアカウントは、招待した人をフォローする
1 Like
#2

管理者用のコマンドラインツールtootctlに機能を追加するものです。

bin/tootctl accounts ffreset USERNAME

このコマンドの目的の一つは、大量のフォローインポートを行ったユーザーの後始末です。
悪意のあるケースではアカウント停止する方が良いでしょうが、ちょっとした無理解や不注意で行っただけのケースでは、フォロー関係をリセットして、再出発してもらうことが可能かと思います。フォロー関係についてのみ対処しますので、投稿やアカウントの設定などには影響ありません。

また、長期間アクセスしていない(=もう利用していない)ユーザーのフォロー関係をリセットさせてもらうことで、アカウントを停止せずに、Fediverse全体の負荷を低減することができます。サーバ開設直後にアカウントを作成してそれっきりのユーザーのために、せっせと資源を浪費してませんか?

現在の課題としては、

  • フォアグラウンドで動作するように作成したが、ジョブを積んでバックグラウンドで動作するモードを載せるべきかどうか?
  • アカウント削除ほどではないが、相手先サーバに相応の負荷をかけることになるが、大丈夫か?
  • 指定ユーザーに対して実行するようにしてあるが、期間指定(180日以上アクセスしていない--days 180など)で一括適用できるようにすべきか?
  • ffresetはあまり良い名称だと思えないが、他に良いアイデアがない
  • tootctlの機能とするのが適当か? 他に優れた代替手段はないか?(既に存在するなど)

があります。

皆さんの意見を頂戴して、良いようであれば、ブラッシュアップして本家に提案できればと思います。

2 Likes
#3
#4

これ、フォローのリセットと、フォロワーのリセットは分けた方がよさそうですね。

あと、followeeって単語はMastodon本体で全く使われてないので、単にfollowって呼んだ方がいいかもしれません。

#5

実装するなら、フォローのリセットとフォロアーのリセットは分けた方がいいと思います。
特にフォロアーのリセットは、対象となるアカウントをフォローしている人の意思とは無関係にアンフォローするため、対象となったユーザーに対して誤解を生んでしまうのではないか?という懸念があります。

2 Likes
#6

結局、このような形でプルリクをあげました。

まだ公式でどう扱われるかはわかりません。
必要であれば、cherry-pickしてしまえば使えるようになります。

tootctl accounts reset-relationships [USERNAME]

のような形で、リセットする対象を指定します。

初期状態では何も対象が選択されていないため、いずれかまたは両方のオプションの指定が必要です。

オプション 内容
--follows フォローをリセットします。
サーバの初期フォロー対象と、招待された場合は招待者をフォローし直します。
--followers フォロワーをリセットします。
通知されないので、相手から見ると、いつのまにか解除された状態になります。

  • Eugenさんに名前を頂いて、コマンド名変更しました。
  • おかしな英語を色々と直していただきましたw
  • masterにマージされました