00:28:32
icon

(引用)リノート/リプライ用にはまた別に設定する必要があることに気づいたので更新 1.0.1

/// @ 0.13.3
### {
	name: "センシティブリアクションの付いたノートを隠す"
	version: "1.0.1"
	author: "@Higameshi@misskey.cloud"
	description: "センシティブリアクションの付いたノートを隠します。今のところリアクションの対応はローカルのみ"
	permissions: [] //Misskey APIにリクエストする際の権限
	config: {
		target: {
			type: 'string'
			label: '付いたときに非表示にしたいカスタム絵文字'
			description: '[":emoji1:", ":emoji2:"]という形式(json形式)で入力'
			default: '[":yapparisindoiwaa_menmenmendako_dokkoisyo:", ":kyoumo_nagatiti:", ":homokkori:", ":huwahuwa_tikubi:", ":inposter:", ":mazuhukuwonugimasu:", ":mutisityu:", ":ntr:", ":nuidare:", ":omae_eroesi:", ":omae_etti:", ":otititutuke:", ":pants_black_mfm:", ":pants_drawers_mfm:", ":pants_strawberry_mfm:", ":pants_striped_mfm:", ":pants_white_mfm:", ":peropero:", ":rosyutu:", ":soremo_aokan_dane:", ":sorenante_eroge:", ":sukebesitandesune_nibiprototype:", ":tikutiku_tikubi:", ":kawaisounanoha_nukenai:"]'
		}
	}
}

var sensitiveemojis = []
each (let emoji, Json:parse(Plugin:config.target)) {sensitiveemojis.push(`:{emoji.slice(1, emoji.len-1)}@.:`)}

/*let emojis = Mk:api("emojis" {}).emojis
var sensitiveemojis = []
for (let emoji, emojis) {
	if (emoji.isSensitive==true) {
		sensitiveemojis.push(`:{emoji.name}@.:`)
	}
}*/

@hidesensitivereaction(note) {
	var isSensitive = false
	each (let sensitiveemoji, sensitiveemojis) {
		if (Obj:keys(note.reactions).incl(sensitiveemoji)) {
			isSensitive = true
			break
		}
	}
	if (isSensitive && note.text!=null) {
		if (note.cw != null) {
			note.text = `cw: {note.cw}{Str:lf}{note.text}`
		}
		note.cw = "センシティブリアクションの付いたノート"
	}
	return note
}

@replace(note) {
	if (note.renote != null) {
		note.renote = replace(note.renote)
	}
	if (note.reply != null) {
		note.reply = replace(note.reply)
	}
	note = hidesensitivereaction(note)
	return note
}

Plugin:register_note_view_interruptor(@(note){return replace(note)})

05:58:16
2023-09-08 21:58:46 sublimer@あすてろいどん鯖管の投稿 sublimer@mstdn.sublimer.me
icon

このアカウントは、notestockで公開設定になっていません。