home.social

#misskeyplugin — Public Fediverse posts

Live and recent posts from across the Fediverse tagged #misskeyplugin, aggregated by home.social.

  1. こちら、今回のioアプデでバグが発生していましたので修正しました!
    一度プラグインをアンインストールし、こちらから最新のコードを再インストールしてください! →
    https://misskey.io/@hua/pages/1745214780719
    【⚠重要⚠】 アンインストールすると登録した定型文が消えちゃいます!あらかじめ今の定型文をどこかに保存して、再インストール後にコピペしましょう!
    #MisskeyPlugin

  2. 今月はミスキー​向けプラグインをいくつか作った。
    全プラグインに、ノートを完全に非表示にする代わりに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.

  3. #misskeyplugin #plugindev #plugin
    Is there seriously no way to pop up a dialogue to take text input?

    We have
    Mk:dialog but it doesnt seem to be able to take text input

  4. #misskeyplugin #plugindev #plugin
    Is there seriously no way to pop up a dialogue to take text input?

    We have
    Mk:dialog but it doesnt seem to be able to take text input

  5. #misskeyplugin #plugindev #plugin
    Is there seriously no way to pop up a dialogue to take text input?

    We have
    Mk:dialog but it doesnt seem to be able to take text input

  6. #misskeyplugin #plugindev #plugin
    Is there seriously no way to pop up a dialogue to take text input?

    We have
    Mk:dialog but it doesnt seem to be able to take text input

  7. #misskeyplugin #plugindev #plugin
    Is there seriously no way to pop up a dialogue to take text input?

    We have
    Mk:dialog but it doesnt seem to be able to take text input

  8. リアクション・フィルター
    https://misskey.io/@observer_alpha/pages/reaction-filter

    また新しいプラグインを作りました。
    今回はリアクションをフィルタリングできます。
    #AiScript #MisskeyPlugin #プラグイン

  9. 🛠 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

  10. リノートプラス
    https://misskey.io/@observer_alpha/pages/renote-plus

    新しいプラグインを作りました!
    このプラグインは、リノートをパブリック、ホーム、フォロワー、そしてダイレクトでグループに送れるのです。

    ボタンのテキストは設定で自由に変えられるし、ユーザーグループはJSONで設定できるのだ。
    例えば:
    {"友達":["id1", "id2", "id3"]}

    羽井出さんに感謝します。羽井出さんのプラグインにインスパイアされて、アイデアをもっと広げることにしたんです。

    フィードバックは大歓迎です!
    #AiScript #MisskeyPlugin #プラグイン

    RE:
    https://m.sv209.com/notes/a9kvjdkuxukl03qg

  11. 他のサーバーで私のプラグインを試してみたっかたんですが...どうやら「Plugin:register_note_view_interruptor」が機能していないみたいです。何でだろう? #AiScript #MisskeyPlugin #プラグイン

  12. ノートフィルターエンハンサー
    https://misskey.io/@observer_alpha/pages/Note-Filter-Enhancer-Plugin

    新しいプラグインを作りました!
    リノートの重複を非表示にし、添付ファイル(画像など)がないノートやリノートをフィルタリングするモードもあります。

    ぜひ試してみてください!
    #AiScript #MisskeyPlugin #プラグイン

  13. 🛠 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

  14. 定型文追加プラグインを作りました!
    ノート作成画面に、
    よく使う定型文をワンクリックで挿入できるボタンを追加します!
    面倒な
    [fanbox][fantia] のリンクも一発で入れられます~
    導入はこちら →
    https://misskey.io/@hua/pages/1745214780719
    #MisskeyPlugin

  15. nyaizeを無効化/有効化するプラグイン
    https://misskey.niri.la/@Sayabeans/pages/1713135194210

    v1.1.0に更新しました。#MisskeyPlugin

    ・返信元や引用元に対して適用されていなかった問題を修正しました。
    ・おまけ機能として、逆にnyaizeを有効化することが出来るconfig設定を追加しました。
    config設定は、設定→プラグインから出来ます。
  16. フォローかお気に入り登録をしているチャンネルのいずれかに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

  17. ​:334:​ノートのミリ秒表示プラグイン​:blobcatuwu:​
    20230516 Updated v0.1.2

    🔧 変更点 ​:verified_misskey:​
    - 秒数の小数点第一位が0の場合に0が省略されてしまう問題を修正


    ・使い方
    ​:ifilter_tsukaitai:​
    ノートの右下の「…」のボタンを押して「詳細な投稿時間」をクリックする
    ​:ablobcatreachflip:​

    ・導入方法
    ​:injection:​
    (導入済みの場合は先にいったん消しておいてください)

    設定>プラグイン>プラグインのインストール

    下のコードをコピペして[インストール]のボタンを押す

    /// @ 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)
    #misskeyplugin #aiscript

  18. 🆕​:custom_emoji:​ 入力をたすけてくれるプラグイン

    ・使い方
    導入するだけで絵文字と半角英数字の間にスペースが挿入されます!

    :custom_emoji:hoge -> :custom_emoji: hoge
    のような変換を自動で行います

    ・導入方法
    設定>プラグイン>プラグインのインストール
    下のコードをコピペして[インストール]のボタンを押す

    /// @ 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)
    })
    
    #MisskeyPlugin

  19. 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

  20. ノートの画像ファイル名をランダム化するプラグイン


    Misskeyでは画像ファイルの名前を自分で変更しないっとアップロードした画像のファイル名がそのままほかの人にも表示されます!

    このプラグインは自動で添付ファイルのファイル名を書き換えることでファイル名バレを防ぎます

    ・使い方
    基本的には導入するだけでファイル名が変更されます!

    自分でファイル名を変えたいなというときには投稿画面に追加される「画像ファイル名ランダム化の設定を変更」をクリックして「キャンセル」を押せば無効になり、もう一度開いて「OK」を押せば再度有効化されます!

    添付の画像のようなファイル名になります

    ・導入方法
    設定>プラグイン>プラグインのインストール
    下のコードをコピペして[インストール]のボタンを押す

    /// @ 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

  21. リファクタ(コードを整えた)だけなので導入済みの人は直さなくていいけど

    /// @ 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)
    #MisskeyPlugin

    RE:
    https://misskey.io/notes/9d5rrunl0w

  22. 🆕ノートの詳細な投稿時間を見るプラグイン

    ​:334:​などで投稿されたノートが何時何分何秒(何ミリ秒)に投稿されたか見たいときってありませんか?

    このプラグインを使うとメニューから詳細な投稿時間を確認することができちゃいます!!

    ・導入方法
    設定>プラグイン>プラグインのインストール
    下のコードをコピペして[インストール]のボタンを押す

    ・日本以外の地域に合わせて表示したい場合の設定方法
    設定>プラグイン>ノートの詳細な投稿日時を表示するプラグイン>設定
    より、お住まいの地域に合わせて設定を変更ください。

    以下、コピペ用コード

    /// @ 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)
    #misskeyPlugin

  23. 私が今までに作成したプラグインはこちらに置いてあります。
    https://mi.yude.moe/@Sayabeans/pages

    * 行頭の>で空白無しの場合に引用表示になるのを阻止するプラグイン
    * 特定のチャンネルへの投稿時に自動でCWを付けるプラグイン

    などがあります。
    ご活用いただければ幸いです。

    #AiScript #MisskeyPlugin

  24. 特定のチャンネルへの投稿時に自動でCWを付けるプラグイン https://gist.github.com/Sayamame-beans/26434219f53e45480f14275fa1a58491

    作りました。

    configで指定されている文字列を名前に含むチャンネルへの投稿時に、自動的にCWを適用します。対象となる文字列は複数指定可能です。
    なお、既にCWが設定されている場合は何もしません。
    config設定は、設定→プラグインから出来ます。

    今回も"ページ"に載せましたが、Misskeyのバグで一部内容が正しく表示されないため、gistのURLを記載しています…

    #MisskeyPlugin

  25. 行頭の>で空白無しの場合に引用表示になるのを阻止するプラグイン https://mi.yude.moe/@Sayabeans/pages/1676177643734

    作りました。標準では

    >このようにすると
    こうなる
    のを、
    >こうなる
    ようにします。
    #MisskeyPlugin

  26. 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

  27. 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

  28. 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