てぃーえすじー すらっくぼっと すしぼっと (575)

TSG advent calendar 5日目です。
adventar.org
hakatashiさんがbotの流れを作ろうとしている気がするので、書くことにしました。sushi botというbotを作りました。たった36行です。
「すし」「スシ」「寿司」を含むような寿司発言に対して「🍣:sushi:🍣」 reactionをつけます。
これによって、みんな寿司が食べたくなり、日本の経済がよくなる効果が期待できます。
こういうのをつくると、くろごま氏が「スシ」という文を投稿してきて、『スシにも対応しろ』と圧力をかけてきます。
対応すると、くろごま氏が「すシ」などを投稿してきます。
対応すると、くろごま氏が「壽司」などを投稿してきます。
対応すると、くろごま氏が「鮨」などを投稿してきます。
結局、
rtext = rtext.
replace(/鮨/g, 'すし').
replace(/([Ss][Uu]|[Zz][Uu]|ス|ズ|ず|寿|壽)/g, 'す').
replace(/([Ss][Hh]?[Ii]|[Cc][Ii]|し|シ|司)/g, 'し');
とnormalizeしてから「すし」を含むものを寿司発言としました。
当然、逗子は寿司発言ではありません。
さらに、同じような戦略で実装できる追加機能として、擬akouryy発見機能もついています。
akouryy氏のつづりはなかなかむずかしいので、間違える人がよくいるとかいないとか。
そのため、擬akouryyを発見し、矯正するために、reactionをつきます。
擬akouryy発言とは、以下のnormalizeを施した後、akouryyが含まれるものです。
rtext = rtext.
replace(/akouryyy/g, 'akkoury').
replace(/akouryy/g, '').
replace(/kk/g, 'k').
replace(/rr/g, 'r').
replace(/y/g, 'yy');
雑実装ですね。
ついでに、僕が凍結された頃、さらなる凍結者を出さないために、「殺」「死」発見、警告機能もついています。
これのお陰で、今のところ僕を除いて凍結者はでていません。

ところで今気づいたんですが、/[Zz]/とかって/z/iでよくないですか。