#misskeyplugin — Public Fediverse posts
Live and recent posts from across the Fediverse tagged #misskeyplugin, aggregated by home.social.
-
こちら、今回のioアプデでバグが発生していましたので修正しました!
一度プラグインをアンインストールし、こちらから最新のコードを再インストールしてください! → https://misskey.io/@hua/pages/1745214780719
【⚠重要⚠】 アンインストールすると登録した定型文が消えちゃいます!あらかじめ今の定型文をどこかに保存して、再インストール後にコピペしましょう!
#MisskeyPlugin -
今月はミスキー向けプラグインをいくつか作った。
全プラグインに、ノートを完全に非表示にする代わりにCWで折りたたむオプションを入れている。
設定をランタイムで翻訳できないなら本体のランタイム翻訳は意味がないので、一部のプラグインで入れていたUI翻訳を外した。
更新を出す当日に海外の人に褒められてしまい、結局各プラグインの英語版を別に作った。
あとはユーティリティやAiScriptライブラリもいくつか作成。
ミスキープラグインは伸びしろが大きいけど実用上の限界も感じていて、まずhtmx、そのあとVueを学んでミスキー本体に直接貢献できればと思っている。
最近ミスキーの人たちにだんだん受け入れられてきて嬉しい。
これからもよろしくお願いします!:blobcat_niko_hohoemi:
#AiScript #MisskeyPlugin #プラグイン
- リノートプラス
- リアクション・フィルター
- ノートフィルターエンハンサー
- AiScriptユーティリティ
海外の方向け/For English‐speakers:
Please look for the “For English‐speakers” & “🇺🇸🇬🇧海外版” section in the aforementioned Plugin pages. -
Did you know that you can contribute to translating pronoun plugin? Feel free to submit a PR into your native language here: https://github.com/ChaoticLeah/pronoun-plugin/blob/beta/src/locale.is
#PronounPlugin #Translation #MisskeyPlugin -
#misskeyplugin #plugindev #plugin
Is there seriously no way to pop up a dialogue to take text input?
We haveMk:dialogbut it doesnt seem to be able to take text input -
#misskeyplugin #plugindev #plugin
Is there seriously no way to pop up a dialogue to take text input?
We haveMk:dialogbut it doesnt seem to be able to take text input -
#misskeyplugin #plugindev #plugin
Is there seriously no way to pop up a dialogue to take text input?
We haveMk:dialogbut it doesnt seem to be able to take text input -
#misskeyplugin #plugindev #plugin
Is there seriously no way to pop up a dialogue to take text input?
We haveMk:dialogbut it doesnt seem to be able to take text input -
#misskeyplugin #plugindev #plugin
Is there seriously no way to pop up a dialogue to take text input?
We haveMk:dialogbut it doesnt seem to be able to take text input -
リアクション・フィルター
https://misskey.io/@observer_alpha/pages/reaction-filter
また新しいプラグインを作りました。
今回はリアクションをフィルタリングできます。
#AiScript #MisskeyPlugin #プラグイン -
🛠 YouTube Link Cleaner アップデート 🛠
▶ バグ修正
・Misskey 2025.8.0で動作しない問題を修正しました。Misskey 2025.7.0までを使用している場合アップデート不要です。
・Misskey 2025.7.0までで動作するプラグインのインストールページを作成しました。(https://jj1guj.github.io/misskey_youtube_link_cleaner/old/install.html)
▼ アップデート方法(2025.8.0で必須)
1. 「設定」→「プラグイン」で YouTube Link Cleaner を開きアンインストール
2. 再インストール: 下記リンクへアクセスしインストールを実行
https://jj1guj.github.io/misskey_youtube_link_cleaner/install.html
—— 関連リンク ——
専用ページ(説明・使い方)
https://jj1guj.github.io/misskey_youtube_link_cleaner/
インストールページ(上と同じ/直接導入可)
https://jj1guj.github.io/misskey_youtube_link_cleaner/install.html
インストールページ(Misskey 2025.7.0まで)
https://jj1guj.github.io/misskey_youtube_link_cleaner/old/install.html
GitHub リポジトリ(ソース)
https://github.com/jj1guj/misskey_youtube_link_cleaner
#MisskeyPlugin #Misskeyプラグイン #YouTube #プライバシー
RE: https://jiskey.dev/notes/aa54czyo0r77135k -
リノートプラス
https://misskey.io/@observer_alpha/pages/renote-plus
新しいプラグインを作りました!
このプラグインは、リノートをパブリック、ホーム、フォロワー、そしてダイレクトでグループに送れるのです。
ボタンのテキストは設定で自由に変えられるし、ユーザーグループはJSONで設定できるのだ。
例えば:{"友達":["id1", "id2", "id3"]}
羽井出さんに感謝します。羽井出さんのプラグインにインスパイアされて、アイデアをもっと広げることにしたんです。
フィードバックは大歓迎です! #AiScript #MisskeyPlugin #プラグイン
RE: https://m.sv209.com/notes/a9kvjdkuxukl03qg -
他のサーバーで私のプラグインを試してみたっかたんですが...どうやら「
Plugin:register_note_view_interruptor」が機能していないみたいです。何でだろう? #AiScript #MisskeyPlugin #プラグイン -
ノートフィルターエンハンサー
https://misskey.io/@observer_alpha/pages/Note-Filter-Enhancer-Plugin
新しいプラグインを作りました!
リノートの重複を非表示にし、添付ファイル(画像など)がないノートやリノートをフィルタリングするモードもあります。
ぜひ試してみてください! #AiScript #MisskeyPlugin #プラグイン -
🛠 YouTube Link Cleaner アップデート 🛠
▶ バグ修正
YouTubeリンクの「次の行以降が消える」問題を修正しました。
(「?si=…」削除機能はそのまま)
▼ アップデート方法(必須)
1. 「設定」→「プラグイン」で YouTube Link Cleaner を開きアンインストール
2. 再インストール: 下記リンクへアクセスしインストールを実行
https://jj1guj.github.io/misskey_youtube_link_cleaner/install.html
—— 関連リンク ——
専用ページ(説明・使い方)
https://jj1guj.github.io/misskey_youtube_link_cleaner/
インストールページ(上と同じ/直接導入可)
https://jj1guj.github.io/misskey_youtube_link_cleaner/install.html
GitHub リポジトリ(ソース)
https://github.com/jj1guj/misskey_youtube_link_cleaner
#MisskeyPlugin #Misskeyプラグイン #YouTube #プライバシー
RE: https://jiskey.dev/notes/aa54czyo0r77135k -
定型文追加プラグインを作りました!
ノート作成画面に、よく使う定型文をワンクリックで挿入できるボタンを追加します!
面倒な[fanbox]や[fantia]のリンクも一発で入れられます~
導入はこちら → https://misskey.io/@hua/pages/1745214780719
#MisskeyPlugin -
nyaizeを無効化/有効化するプラグイン
https://misskey.niri.la/@Sayabeans/pages/1713135194210
v1.1.0に更新しました。#MisskeyPlugin
・返信元や引用元に対して適用されていなかった問題を修正しました。
・おまけ機能として、逆にnyaizeを有効化することが出来るconfig設定を追加しました。
config設定は、設定→プラグインから出来ます。 -
フォローかお気に入り登録をしているチャンネルのいずれかにrenote出来るようにするプラグイン https://misskey.niri.la/@Sayabeans/pages/1688538282546
1.2.0に更新し、お気に入り登録したチャンネルを対象に追加しました!
チャンネル取得タイミング(Misskey読み込み時に取得しています)の都合上、新たにフォロー・お気に入り登録を行ったチャンネルにrenoteするには、Misskeyをリロードする必要があります。
以前のバージョンをご利用の方が更新するには、プラグインのインストールし直しが必要です。(古いバージョンのプラグインをアンインストールする必要があります。)その際、アクセストークンは作り直しとなるためご注意ください。(古いアクセストークンがそのまま残り、再利用することが出来ません。)
このプラグインは、フォローかお気に入り登録をしているチャンネルのいずれかにrenoteするノートメニューを追加します。(バージョン確認の無効化とフォローから取得する数の上限はconfigで指定します)
config設定は、設定→プラグインから出来ます。
このプラグインはMisskey APIを使用してチャンネル取得とRenoteを行うため、以下の権限を要求します。
これを許可することによって取得されるアクセストークンはプラグイン内でのみ使用されます。・チャンネルを見る ・ノートを作成・削除する
また、設定→API→アクセストークンの管理からいつでも無効化することが出来ます。
また、Misskey v13.11.0以前では、お気に入り登録したチャンネルを読み込むAPIが無いことによるエラーが発生してしまうため、サーバーのバージョンを確認して回避しています。
もしお使いのサーバーのバージョン表記がMisskeyと異なる場合は、configからバージョン確認を無効化することを試してみてください。(当該APIが無い状態でバージョン確認を無効化した場合、プラグイン全体が機能しなくなります。)
#MisskeyPlugin -
:334:ノートのミリ秒表示プラグイン:blobcatuwu:
20230516 Updated v0.1.2
🔧 変更点 :verified_misskey:
- 秒数の小数点第一位が0の場合に0が省略されてしまう問題を修正
・使い方 :ifilter_tsukaitai:
ノートの右下の「…」のボタンを押して「詳細な投稿時間」をクリックする :ablobcatreachflip:
・導入方法 :injection:
(導入済みの場合は先にいったん消しておいてください)
設定>プラグイン>プラグインのインストール
下のコードをコピペして[インストール]のボタンを押す
#misskeyplugin #aiscript/// @ 0.13.2 ### { name: "ノートの詳細な投稿日時を表示するプラグイン" version: "0.1.2" author: "taichan" description: "ミリ秒まで見たいとかサーバー上での投稿時間を確認したいあなたへ" permissions: [] config: {} } @zp(str, n) { let res = `{str}` let diff = n - res.len if (diff <= 0) return res [`{10 ^ (diff)}`.slice(1, diff + 1), res].join() } @format_date_str(dateStr) { var d = Date:parse(dateStr) `{zp(Date:year(d) 4)}/{zp(Date:month(d) 2)}/{zp(Date:day(d) 2)} {Date:hour(d)}:{zp(Date:minute(d) 2)}:{zp(Date:second(d) 2)}.{zp(d % 1000 3)}` } @select(note) { Mk:dialog("ノートの投稿時間" format_date_str(note.createdAt)) } Plugin:register_note_action("詳細な投稿時間" select) -
🆕:custom_emoji: 入力をたすけてくれるプラグイン
・使い方
導入するだけで絵文字と半角英数字の間にスペースが挿入されます!:custom_emoji:hoge->:custom_emoji: hoge
のような変換を自動で行います
・導入方法
設定>プラグイン>プラグインのインストール
下のコードをコピペして[インストール]のボタンを押す
#MisskeyPlugin/// @ 0.13.1 ### { name: "絵文字の後にスペース入れるプラグイン" version: "0.0.1" author: "taichan" description: "絵文字の後に半角英数字が来るときに半角スペースを入れます" permissions: [] config: {} } // thx @salano_ym // objのnullなプロパティを再帰的に除去 @remove_null_property(object) { if Core:type(object) != 'obj' { return object } let new_obj = {} each let kv Obj:kvs(object) { let v = remove_null_property(kv[1]) if Core:type(v) != 'null' { Obj:set(new_obj kv[0] v) } } return new_obj } @emoji_replace(text) { let HANKAKU_LIST = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz".split() let splittedText = text.split() var i = -1 loop { i += 1 if (i >= splittedText.len) break // コードブロックをスキップ if (splittedText.slice(i, i + 3).join() == "```") { let blockEnd = splittedText.slice(i + 3, splittedText.len).join().index_of("```") if (blockEnd > 0) i = (i + 3) + blockEnd + 2 continue } // インラインコードをスキップ if (splittedText[i] == "`") { let codeEnd = splittedText.slice(i + 1, splittedText.len).join().index_of("`") if (codeEnd > 0) i = (i + 1) + codeEnd continue } if (splittedText[i] != ":") continue if (i + 1 < splittedText.len) { if (splittedText[i + 1] == ":") continue } let next = splittedText.slice(i + 1, splittedText.len).join().index_of(":") if (next < 0) break // 1個先から次の「:」まで let skipForNext = false for let k, next + 1 { let idx = i + 1 + k // i + 1, i + 2... if ([Str:lf, " "].incl(splittedText[idx])) { i = idx break } if (splittedText[idx] != ":") continue skipForNext = true if (idx + 1 >= splittedText.len) break if (HANKAKU_LIST.incl(splittedText[idx + 1])) { splittedText[idx] = `{splittedText[idx]} ` } break } if (skipForNext) i += next + 1 } splittedText.join() } Plugin:register_note_post_interruptor(@(note) { if (note.cw != null) note.cw = emoji_replace(note.cw) note.text = emoji_replace(note.text) remove_null_property(note) }) -
Renote非表示(圧縮)プラグイン v1.1
変化点
①セルフ:rn:を非表示の対象外に
②リアクションをデフォルトで表示 オプションで非表示に変更
③非表示にする:rn:の上限を50に変更
今後も何か思いついたら新しい機能を付け加えるかもしれません
#MisskeyPlugin/// @ 0.12.4 ### { name: "HiddenRenote" author: "ouchi" version: 1.1 description: "タイムラインのRenoteの表示を圧縮します" config: { hideRenote: { type: "boolean" label: "Renoteを全て非表示" description: "Renoteを全て非表示にする" default: false } hideImg: { type: "boolean" label: "画像のみ非表示" description: "画像のあるRenoteのみ非表示にする" default: false } hideEmoji: { type: "boolean" label: "リアクションも非表示にする" description: "Renoteからリアクションも非表示にする" default: false } rnLimit: { type: "number" label: "非表示にするRenoteのカウント上限" description: "非表示にするRenoteのカウント上限(多いほど古いRenoteが再表示されにくくなります)" default: 50 } } } var noteIDArr = [] Plugin:register_note_view_interruptor(@(note){ if (note.renoteId != null) { if (Plugin:config.hideRenote) { renoteSettings(note) } else if (Plugin:config.hideImg) { if (note.renote.files.len != 0) { renoteSettings(note) } } else if (note.user.username == note.renote.user.username) { return note } else { if (noteIDArr.incl(note.renote.id)) { renoteSettings(note) } if (noteIDArr.len > Plugin:config.rnLimit) noteIDArr.shift() noteIDArr.push(note.renote.id) } return note } return note }) @renoteSettings(note) { var cwStr = note.renote.cw if cwStr != null { cwStr = `{cwStr}{Str:lf}` } var textStr = note.renote.text note.renote.cw = "[省略されたRenote]" note.renote.text = `{cwStr}{textStr}` if (Plugin:config.hideEmoji) { note.renote.reactions = [] //{}ではないのは圧縮後のノートへのリアクション追加抑制の為 note.renote.reactionEmojis = [] //{}ではないのは圧縮後のノートへのリアクション追加抑制の為 } return note }
RE: https://misskey.io/notes/9d9znsjuqw -
ノートの画像ファイル名をランダム化するプラグイン
Misskeyでは画像ファイルの名前を自分で変更しないっとアップロードした画像のファイル名がそのままほかの人にも表示されます!
このプラグインは自動で添付ファイルのファイル名を書き換えることでファイル名バレを防ぎます
・使い方
基本的には導入するだけでファイル名が変更されます!
自分でファイル名を変えたいなというときには投稿画面に追加される「画像ファイル名ランダム化の設定を変更」をクリックして「キャンセル」を押せば無効になり、もう一度開いて「OK」を押せば再度有効化されます!
添付の画像のようなファイル名になります
・導入方法
設定>プラグイン>プラグインのインストール
下のコードをコピペして[インストール]のボタンを押す
#MisskeyPlugin/// @ 0.12.4 ### { id: "d170676e-41cc-4b43-3303-c05930958ba1" name: "画像のファイル名を乱数化するプラグイン" version: "0.0.2" author: "taichan" description: "添付画像のファイル名を変更する" permissions: ["write:drive"] config: {} } @bool_in_japanese(v) { if (v) return "有効" "無効" } // objのnullなプロパティを再帰的に除去 @remove_null_property(object) { if Core:type(object) != 'obj' { return object } let new_obj = {} each let kv Obj:kvs(object) { let v = remove_null_property(kv[1]) if Core:type(v) != 'null' { Obj:set(new_obj kv[0] v) } } return new_obj } let MK_DATA_LABEL_PREFIX = "@taichan/image_rand_plugin" let MK_DATA_LABEL_ENABLED = `{MK_DATA_LABEL_PREFIX}/isEnabled` @get_is_enabled() { let v = Mk:load(MK_DATA_LABEL_ENABLED) if (v != null) return v set_is_enabled(true) true } @set_is_enabled(value) { Mk:save(MK_DATA_LABEL_ENABLED, value) } Plugin:register_post_form_action("画像ファイル名ランダム化の設定を変更" @(){ let isEnabled = Mk:confirm("画像ランダム化" `画像ファイル名をランダム化しますか?{Str:lf}現在の設定: {bool_in_japanese(get_is_enabled())}`) set_is_enabled(isEnabled) }) Plugin:register_note_post_interruptor(@(note){ if (get_is_enabled() && note.fileIds != null) { each let fileId, note.fileIds { Mk:api("drive/files/update", { fileId: fileId, name: Util:uuid() }) } } remove_null_property(note) }) -
リファクタ(コードを整えた)だけなので導入済みの人は直さなくていいけど
#MisskeyPlugin/// @ 0.12.4 ### { name: "添付画像の公開範囲を確認するプラグイン" version: "0.0.2" author: "taichan" description: "公開して後悔しないように…ね?" permissions: [] config: {} } let visivilityInJp = { public: "パブリック" home: "ホーム" followers: "フォロワー" specified: "ダイレクト" } @cw_text(cw) { if (cw != null) return "CW設定済み" "CW未設定" } @selected(note) { let filesSenstiveStr = note.files.map(@(file, i) { if (file.isSensitive) return `{i}: NSFW 有効` `{i}: NSFW 無効` }).join(Str:lf) var text = [`ノートの公開範囲: {Obj:get(visivilityInJp, note.visibility)}`, cw_text(note.cw)].join(Str:lf) if (note.files.len > 0) text = [text, Str:lf, Str:lf, "添付ファイル", Str:lf, filesSenstiveStr].join() Mk:dialog("ノートの閲覧設定", text) } Plugin:register_note_action("ノートの閲覧設定を確認する" selected)
RE: https://misskey.io/notes/9d5rrunl0w -
🆕ノートの詳細な投稿時間を見るプラグイン
:334:などで投稿されたノートが何時何分何秒(何ミリ秒)に投稿されたか見たいときってありませんか?
このプラグインを使うとメニューから詳細な投稿時間を確認することができちゃいます!!
・導入方法
設定>プラグイン>プラグインのインストール
下のコードをコピペして[インストール]のボタンを押す
・日本以外の地域に合わせて表示したい場合の設定方法
設定>プラグイン>ノートの詳細な投稿日時を表示するプラグイン>設定
より、お住まいの地域に合わせて設定を変更ください。
以下、コピペ用コード
#misskeyPlugin/// @ 0.12.4 ### { name: "ノートの詳細な投稿日時を表示するプラグイン" version: "0.0.1" author: "taichan" description: "ミリ秒まで見たいとかサーバー上での投稿時間を確認したいあなたへ" permissions: [] config: { diff: { type: 'number' label: "UTCとの差" description: "世界標準時と何時間ずれているかを数字で入力してください(日本の場合は「9」)" default: 9 } } } @format_date_str(dateStr, diff) { let splittedTime = dateStr.split("T") let time = splittedTime[1].slice(0, 12).split(":") let convertedTime = `{(time[0].to_num() + diff) % 24}:{time[1]}:{time[2]}` let day = splittedTime[0].replace("-", "/") `{day} {convertedTime}` } @select(note) { let date = note.createdAt Mk:dialog("ノートの投稿時間" format_date_str(date, Plugin:config.diff)) } Plugin:register_note_action("詳細な投稿時間" select) -
私が今までに作成したプラグインはこちらに置いてあります。
https://mi.yude.moe/@Sayabeans/pages
* 行頭の>で空白無しの場合に引用表示になるのを阻止するプラグイン
* 特定のチャンネルへの投稿時に自動でCWを付けるプラグイン
などがあります。
ご活用いただければ幸いです。
#AiScript #MisskeyPlugin -
特定のチャンネルへの投稿時に自動でCWを付けるプラグイン https://gist.github.com/Sayamame-beans/26434219f53e45480f14275fa1a58491
作りました。
configで指定されている文字列を名前に含むチャンネルへの投稿時に、自動的にCWを適用します。対象となる文字列は複数指定可能です。
なお、既にCWが設定されている場合は何もしません。
config設定は、設定→プラグインから出来ます。
今回も"ページ"に載せましたが、Misskeyのバグで一部内容が正しく表示されないため、gistのURLを記載しています…
#MisskeyPlugin -
行頭の>で空白無しの場合に引用表示になるのを阻止するプラグイン https://mi.yude.moe/@Sayabeans/pages/1676177643734
作りました。標準では>このようにするとこうなる
のを、
>こうなる
ようにします。
#MisskeyPlugin -
Catify 1.3.6
This release fixes 2 bugs:
- Mentions were nyanified instead of skipped
- The suffix frequency setting didn't work
https://mk.vulpes.one/@volpeon/pages/1628621742554
#misskey #askmisskey #misskeyplugin -
Catify plugin update (again)
https://mk.vulpes.one/@volpeon/pages/1628621742554
I rewrote it to not use my parsing library since it adds some overhead, mostly due to the backtracking support which I don't need here. I also switched to mutable data structures.
The result is way better performyance.
#misskeyplugin #askmisskey #misskey -
Catify plugin 1.2.0
https://mk.vulpes.one/@volpeon/pages/1628621742554
I worked a lot on performyance improvements and now it doesn't affect the loading times too badly anymore.
#misskey #askmisskey #misskeyplugin