自作プラグイン用のテスト
NSFW
NSFW指定付きの画像があるか、NSFWっぽいワードがある投稿を本文「NSFW」のみに変えて見えなくするプラグインです。
・見えないけどリノートやリアクションは出来てしまう
・外部リンクのリンクカードが消えない
いくつか問題は残ってますが、とりあえず動作します。
(対処法がわかればなんとかしたい…)
/// @ 0.12.4
###{
name: "nsfw_mute"
version: "1.0.0"
author: "ura_unagi"
description: "This plugin mutes NSFW posts!"
permission: []
}
let nsfw_words = ["nsfw" "18禁" "r18" "r-18" "r指定" "🔞" "そぎぎ" "成人向"]
@sfw_note(note) {
var mute_flag = false
var text = ""
if note.text != null { text = note.text.lower() }
var cw = ""
if note.cw != null { cw = note.cw.lower() }
each let w, nsfw_words {
if text.incl(w) { mute_flag = true }
if cw.incl(w) { mute_flag = true }
}
each let f, note.files {
if f.isSensitive { mute_flag = true }
}
if mute_flag {
// エッチな投稿をマイルドに表示
note.text = "NSFW"
if note.files != null { note.files = [] }
if note.fileIDs != null { note.fileIDs = [] }
if note.reactions != null { note.reactions = {} }
if note.cw != null { note.cw = null }
if note.poll != null { note.poll = null }
// note.isHidden = true
// やりたいけどできてないこと
// 本文中にURL表記がある場合のリンクカードも消したい
// リツイートやリアクションのボタンを隠したい(そもそもできるのか不明)
// NSFW投稿の表示を変えずにリツイート範囲を自動でホーム限定にしたい(方法不明・やるとしたら別プラグイン)
} else {
// 動作確認用
// NSFW以外の投稿がSFWになっていれば、エラーで止まってない証拠
// note.text = "SFW"
}
return note
}
Plugin:register_note_view_interruptor(@(note) {
note = sfw_note(note)
if note.renote != null {
note.renote = sfw_note(note.renote)
}
if note.reply != null {note.reply = sfw_note(note.reply)}
note
})
@gopuranto 理由の1つには要求水準がめちゃくちゃ高いってのもあるかなと思います。同じロリの中でもこの年齢だとこういう体つきになるみたいな描き分けができてないと載せないみたいなので