Stream Deckを買ってから、Discordの操作を物理ボタンでできるようになって便利に使っていました。
しかし、なにかのアップデートのタイミングからか、ボタンを押しても何も反応しなくなってしまって、トラブルシューティングをしました。
いくつかのNoteやブログで、Stream Deckのマーケットプレイスからダウンロードしたプラグインの設定画面で、更新を押すとうまくいくだとか、
Discordのプラグイン自体を一度消して入れ直すだとか、色々書かれていましたが、私の環境ではうまくいきませんでした。
Stream Deckのミュートボタンとかを押すと、外部アプリケーションへのAPI提供の許諾認証画面は出るのですが、認証を押しても無限ループで
何度でも認証画面が出てきてしまう状態に陥りました。
Discord自体を管理者権限で実行してみるとかも試してはみたのですが、うまくいかず、困っていたのですが、もともとStream Deckやランチャーに登録していた
ショートカットではなく、WindowsのスタートメニューからDiscordを通常起動してみると、普通にミュートが効くようになりました。
どうやらDiscordの起動の仕方に原因があることがわかったので、オリジナルのデフォルトショートカットを確認すると、作業フォルダーとして
C:\Users\{UserName}\AppData\Local\Discord\app-{バージョン以下略} みたいなフォルダが指定されていました。
残念ながら、Stream Deckのショートカットで作業フォルダまで指定する方法を私が知らないので、
discord.bat のようなコマンドプロンプトからPowerShellでDiscordを起動するバッチファイルを作って対応しました。
@echo off
cd /d "C:\Users\{UserName}\AppData\Local\Discord\app-{バージョン略}"
powershell -Command "Start-Process 'C:\Users\{UserName}\AppData\Local\Discord\Update.exe' -ArgumentList '--processStart Discord.exe'"
これでプロンプトが作業フォルダに移ってから、PowerShellを経由してDiscordを起動できます。
正直プロンプトから直接起動したり、最初からPowerShellでいけんのか?と思ったりもしましたが、
ChatGPTに即席で作らせて動いたので、これ以上チューニングしなくてもいいやってなってこれで落ち着きました。
というか、実はこのバッチファイルを作ったのは、OBSとかその他のゲームとかを管理者権限で起動して不具合が出ないように調整するために対応したのを横展開しただけなんです。
最後の部分を '--processStart Discord.exe' -Verb RunAs" にしてあげると管理者権限で起動できます。
Discordを管理者権限で起動する意味はあまりないと思いますが、その他のソフト、Valorantやるときとかにマウスの挙動がおかしいとかあったら、このオプションをつけてショートカットを作ってあげると楽に起動できます。
以上。
2025/3/8