generated at
Discordのメッセージリンクをアプリで開くUserScript
使い方
以下のスクリプトをScrapboxの自分のページに貼って、更新してください。 / UserScriptを設定する
設定したプロジェクト内でDiscordのメッセージリンクをクリックすると、Discordのアプリが開き、そのメッセージを表示します。
Discordアプリをインストールしている必要があります

サンプル(お試し用)
Discord(設定後クリックしてみてください)

動作確認
Porterで動作確認済み
Safari(iPhone)で動作確認済み

補足
アプリで開いたあと、しばらくメッセージに移動しないことがあるが、待っているとページが変わる

バージョン1
script.js
// Discordのメッセージリンクをアプリから開くようにする // Discordアプリが入っていないと動きません document.addEventListener('click', function(event) { // クリックした外部リンクのURLを取得 const node = event.target.parentNode; console.log(node.tagName); if(node.tagName === 'A') { const currentUrl = node.href; const serverDomain = `discord.com/channels/`; // httpsをdiscordに変換して開く if (currentUrl.includes(serverDomain)) { // 現在のURLから "https" を "discord" に置換する var newUrl = currentUrl.replace("https", "discord"); // 新しいURLに移動する window.location.href = newUrl; // デフォルトの動作を防止する event.preventDefault(); } } });

スマホでのみアプリから開くバージョン
script.js
// Discordのメッセージリンクをアプリから開くようにする // Discordアプリが入っていないと動きません document.addEventListener('touchstart', function(event) { // クリックした外部リンクのURLを取得 const node = event.target.parentNode; console.log(node.tagName); if(node.tagName === 'A') { const currentUrl = node.href; const serverDomain = `discord.com/channels/`; // httpsをdiscordに変換して開く if (currentUrl.includes(serverDomain)) { // 現在のURLから "https" を "discord" に置換する var newUrl = currentUrl.replace("https", "discord"); // 新しいURLに移動する window.location.href = newUrl; // デフォルトの動作を防止する event.preventDefault(); } } });


参考
thanks to chatGPT
includesメソッド教えてもらった
コードの原型を書いてもらった。だいぶ直したけど。

便利of便利
GJ