モロヘイヤ:ウェルカムメッセージ

ウェルカムメッセージとは

fediインスタンスにアカウント登録した新規さんに対し、DMを送信する機能です。
Mastodonだけに対応していたこの機能が、この度Misskey / めいすきーにも対応しました。

手前味噌ですが、私が管理しているインスタンスのひとつ、デルムリン丼のものはこんな感じ。

ウェルカムメッセージ

この機能が生まれた経緯

デルムリン丼は主にネタバレ話題を目的としたインスタンスですので、CW投稿をデフォルトとする改造を行っています。
新規さんにこうした事情を最初に知って頂く必要がある為、この様な機能が生まれました。

送信のタイミング

「お知らせボット」をフォローしたタイミングで送信します。

モロヘイヤでは、設置時に併せて「お知らせボット」を設置することになっています。
「お知らせ」と同じ文章を念押しで投稿したり、DMによる通知(各種機能の実行結果等)を行ったり等の役割を持ったボットです。
「お知らせ」の念押し投稿は特に重要な機能で、モロヘイヤを適用したインスタンスでは原則的に、全てのユーザーにお知らせボットのフォローが義務づけられます。

Mastodonは3.3系までは、新規さんが自動でフォローするアカウントを設定することができました。お知らせボットのフォローと新規登録のタイミングが同時だった為、この仕様でも問題なかったのですが。
仕方なく今は、全ユーザーからお知らせボットを、5分ごとに一括フォローしています。(tootctl accounts follow を実行)

実装面のルーツ

ストリーミングAPIで、フォローイベントの監視を行っています。
ストリームのリスナーは、拙作のチャットボットMAKOTOに由来した実装です。

参考:なりきりボットMAKOTO

課題など

  • 一括フォロー機能(tootctl accounts follow)はMastodonにしかない。
  • そもそも、一括フォローを5分ごとに実行するのはどうなのか。インスタンスへの新規登録や、お知らせボットへアンフォローイベントを、 本体改造せずに フックすることはできないのか。(アンフォローのほうはなんとかなりそう)
  • ウェルカムメッセージが書かれた「お知らせ」を、片づけないで出しっぱなしにしておく運用あたりが案外現実的なのかも。