前言
使用 RPC 連接 Discord 客戶端來自訂更豐富的動態狀態,不再受限於設定中只能修改文字的限制。且不會覆蓋掉自訂狀態的表情符號。

開始
前往 Discord 的 Developer Portal,新增一個新的應用程式,這裡取的名稱會變成狀態的標題,如下圖:



切換到 OAuth2 頁面,複製 Client ID。待會會用到。

再切換到 Rich Presence,在下面的 Rich Presence Assets 加入你的狀態圖片。上傳後可能需要幾分鐘才能看到圖片。

新增一個資料夾,在裡面執行 npm init -y 來建立 package.json。
安裝 discord-rpc,然後建一個 .js 檔。
const RPC = require('discord-rpc'); // 引入 discord-rpc
const clientId = '0000000000000000'; // 剛剛複製的 Client ID
const client = new RPC.Client({ transport: 'ipc' }); // 建立新的 RPC.Client 物件
client.login({clientId}) //使用提供的 Client ID 登入
加入要顯示的訊息。可以參考下方的動畫看看文字出現的位置。
client.on('ready', () => { // 登入後執行
client.setActivity({ // 設定活動狀態
details: `玩得正爽`,
state: '👌',
startTimestamp,
largeImageKey: 'large',
largeImageText: '摸三小',
smallImageKey: 'small',
smallImageText: '幹還摸'
});
});

執行 node XXX.js 就能看到狀態出現在個人檔案了。
![Featured image of post [Discord.js] 自訂動態狀態](/p/discord_rpc/customrichpresence_hub721c1fa5dd93040ca2e52f0ee351dba_36200_800x0_resize_box_3.png)