mastodon bot 『DajareDetector』 説明書
この記事は拙作のmastodon bot 『DajareDetector』(@DajareDetector)の説明書です。
DajareDetector とは何か
フォローしているユーザーのトゥート本文*1に含まれるダジャレを検出して指摘するmastodon上で動作するbotです。
mastodon上に存在していますので、mastodonやmastodonと疎通できるソフトウェア(pleromaやmisskeyなど)から使用できるはずです。
やっていること
- ストリーミングAPIによりホームタイムラインを監視
API的には/api/v1/streaming/user
を見ていますので、通知も取得できます。 - 取得した投稿本文にダジャレが含まれているか評価
kurehajime/dajarep というルールベースのダジャレ検索ライブラリを改造したものを使っています。 - ダジャレが含まれていたらリプライを送る
- 新規ユーザーにフォローされたらフォローを返す
Go言語を使っています。Go書いたことないのでよくわかっていませんが、動いています。
注意点
- ダジャレの判定がルールベースなので、なかなか難しいです。
- これは 検出したほうが/しないほうが 良いというのがありましたら教えて下さい(@theoria@wug.funにリプライとかで)
- 検出されるのは3文字以上の単語、もしくは複数単語がヒットした場合になっています
- 2文字1つだとダジャレとも言えないレベルの引っかかり方をするため
- 単語の読み単位で検索しているので複数単語にまたがる掛りが検出できない
- 単語判定をなくして読みだけでやると『人民の人民による人民のための政治』とかもダジャレとみなされてしまうため、単語の判定をしています
- 公開範囲が未収載以上の投稿のみに反応します
- 非公開投稿に反応するのはマズそうなので
- フォロー解除機能が未実装
- ウザくなったらブロックでbotからのフォローを解除してください。ユーザーがフォローを解除するだけでは検出されるのでご注意ください。
- キーワードでフォロー解除のような仕組みは将来的には実装予定です
その他(お願い)
ルールベースの検出のため、ルールを手探りでいじっています。これは検出されてほしい、みたいなのがあったら教えていただけるとありがたいです。検出しないほうが良いやつも。
よろしくお願い致します。
*1:正確にはCWのspoiler_textも検出対象です