bugfix - stable
This commit is contained in:
parent
f7ccc2ec05
commit
a6cac307aa
2 changed files with 28 additions and 16 deletions
17
README.md
17
README.md
|
@ -1,14 +1,9 @@
|
||||||
# Discord-Rich-Presence-For-Cinema-4D
|
# Discord-Rich-Presence-For-Cinema-4D
|
||||||
How to use:
|
A hacky way of allowing all your discord friends to know what your'e working on in Cinema 4D!
|
||||||
|
|
||||||
-ideally create batch file that runs `node ./src/Rich Presence for C4D.js`
|
How it works:
|
||||||
|
>gets process info on c4D and takes windows name, extracts name from it
|
||||||
|
>hooks into discord api via npms `discord-rich-presence` and uses my custom app assets to show as cinema 4D, puts project name there
|
||||||
|
|
||||||
-put a shortcut to it in `shell:StartUp` folder to run on startup.
|
enjoy~
|
||||||
|
Dj
|
||||||
-change `DRCSettings.json` to have your website porfolio
|
|
||||||
|
|
||||||
-Enjoy <3
|
|
||||||
|
|
||||||
|
|
||||||
known issues:
|
|
||||||
-crash on cinema 4D close
|
|
|
@ -6,11 +6,15 @@ const { stdout, mainModule } = require('process')
|
||||||
|
|
||||||
let currentProject = "lorem Ipsum"
|
let currentProject = "lorem Ipsum"
|
||||||
let pastProject = "."
|
let pastProject = "."
|
||||||
|
|
||||||
|
//Command used to scan for C4D process
|
||||||
let cmd = 'tasklist /fi "imagename eq Cinema 4D.exe" /fo list /v'
|
let cmd = 'tasklist /fi "imagename eq Cinema 4D.exe" /fo list /v'
|
||||||
//Loads DRC settings
|
//Loads DRC settings
|
||||||
let DRCSettings = JSON.parse(fs.readFileSync("DRCSettings.json"))
|
let DRCSettings = JSON.parse(fs.readFileSync("DRCSettings.json"))
|
||||||
|
|
||||||
|
let clientIsConnected = false
|
||||||
let currentClient
|
let currentClient
|
||||||
|
|
||||||
function sleep(ms) {
|
function sleep(ms) {
|
||||||
return new Promise(resolve => setTimeout(resolve, ms))
|
return new Promise(resolve => setTimeout(resolve, ms))
|
||||||
}
|
}
|
||||||
|
@ -46,6 +50,16 @@ function updateOpenProjectName(str) {
|
||||||
|
|
||||||
function setDRCProject() {
|
function setDRCProject() {
|
||||||
//update current presence settings
|
//update current presence settings
|
||||||
|
//reconnects the client if isnt connected
|
||||||
|
if (!clientIsConnected) {
|
||||||
|
currentClient = client("936296341250904065")
|
||||||
|
currentClient.on("error", (err) => {
|
||||||
|
console.log("err")
|
||||||
|
})
|
||||||
|
clientIsConnected = true
|
||||||
|
console.log("starting client")
|
||||||
|
currentProject = "0"
|
||||||
|
}
|
||||||
if (currentProject != pastProject) {
|
if (currentProject != pastProject) {
|
||||||
currentClient.updatePresence({
|
currentClient.updatePresence({
|
||||||
state: `Porfolio: ${DRCSettings.portfolio_website}`,
|
state: `Porfolio: ${DRCSettings.portfolio_website}`,
|
||||||
|
@ -54,28 +68,31 @@ function setDRCProject() {
|
||||||
largeImageKey: 'c4d',
|
largeImageKey: 'c4d',
|
||||||
instance: true,
|
instance: true,
|
||||||
})
|
})
|
||||||
|
console.log("updating client")
|
||||||
}
|
}
|
||||||
pastProject = currentProject
|
pastProject = currentProject
|
||||||
|
|
||||||
}
|
}
|
||||||
|
//catches the error
|
||||||
|
|
||||||
async function main() {
|
async function main() {
|
||||||
while (true) {
|
while (true) {
|
||||||
updateOpenProjectName(await getCinemaProcessInfo())
|
updateOpenProjectName(await getCinemaProcessInfo())
|
||||||
//stops DRC when broken
|
//stops DRC when broken
|
||||||
if (currentProject == false) {
|
if (currentProject == false) {
|
||||||
if (currentClient) {
|
if (clientIsConnected) {
|
||||||
await currentClient.disconnect()
|
await currentClient.disconnect()
|
||||||
|
clientIsConnected = false
|
||||||
|
console.log("disconnecting client...")
|
||||||
}
|
}
|
||||||
await sleep(20000)
|
await sleep(DRCSettings.scan_refresh_rate * 10)
|
||||||
continue
|
continue
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
if (!currentClient) {
|
|
||||||
currentClient = client("936296341250904065")
|
|
||||||
}
|
|
||||||
setDRCProject()
|
setDRCProject()
|
||||||
}
|
}
|
||||||
await sleep(DRCSettings.scan_refresh_rate)
|
await sleep(DRCSettings.scan_refresh_rate)
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue