azures04 3a81447b9c first commit
-  Discord RPC 🕹
  -  File protection 🔏
  -  Authentication 🔑
2025-04-26 08:09:46 +02:00

50 lines
1.5 KiB
JavaScript

const RPC = require("discord-rpc")
class DiscordRPC {
constructor() {
readonly: this.activity = {
details: "Actif dans le launcher",
assets: {
large_image: "logo",
large_text: "CatBoat Minecraft Launcher"
},
buttons: [
{
label: "Discord",
url: "https://discord.com/invite/catboat"
},
{
label: "CatBoat",
url: "https://catboat.fr/"
}
],
instance: true
}
readonly: this.client = new RPC.Client({ transport: "ipc" })
this.isEnabled = false
}
startRichPresence() {
if (!this.isEnabled) {
this.client.on("ready", () => {
this.client.request("SET_ACTIVITY", { pid: process.pid, activity: this.activity })
console.log("The Discord Rich Presence has been set successfully.")
})
this.client.login({ clientId: "1365563093157154868" }).catch(e => {
console.log(e)
console.log("Silent client detected: the activity status has been disabled.")
this.isEnabled = false
}).then(r => this.isEnabled = true)
.catch(err => console.log)
}
}
stopRichPresence() {
if (this.isEnabled) {
this.client.destroy()
this.isEnabled = false
}
}
}
module.exports = new DiscordRPC()