Skip to content

Commit 3bf9231

Browse files
authored
Update 1.6.54 Source Code
1 parent 9b8c15c commit 3bf9231

4 files changed

Lines changed: 114 additions & 40 deletions

File tree

index.html

Lines changed: 68 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -64,6 +64,35 @@
6464
ipcRenderer.send('disableRpcCallback')
6565
}
6666

67+
function UploadBanner() {
68+
let str = document.getElementById('bannerBtn').value
69+
let banner = document.getElementById('bg')
70+
71+
console.log(str, banner)
72+
if (!str.startsWith('https://')) {
73+
let userID = localStorage.getItem('userID')
74+
75+
try {
76+
let splitted = str.split('.', 1);
77+
} catch {
78+
return console.log("Invalid ID")
79+
}
80+
if (!userID) {
81+
return console.log('Either set the RPC first, or use a full URL format.')
82+
}
83+
84+
let final = `https://cdn.discordapp.com/banners/${userID}/${splitted}.${str.startsWith('a_')?"gif":'png'}?size=64`
85+
banner.style.backgroundImage = `url(${final})`
86+
localStorage.setItem('bannerURL', final)
87+
} else {
88+
let final = str
89+
banner.style.backgroundImage = `url(${final})`
90+
localStorage.setItem('bannerURL', final)
91+
}
92+
93+
94+
}
95+
6796
function RPCfunc() {
6897
// main initalization of rich presence information set as an object
6998
const obj = {
@@ -159,6 +188,8 @@
159188
userID,
160189
userDisc
161190
} = arg;
191+
192+
localStorage.setItem('userID', userID)
162193
let largeImgIcn = document.getElementById('paimon');
163194
let smallImgIcn = document.getElementById('small');
164195
if (iterations < 1) {
@@ -167,10 +198,17 @@
167198
}
168199
// checks if the old avatar is the same as the new one; if it isnt, it sets the banner again.
169200
profilePic.src = avatarIcon;
201+
localStorage.setItem('pfpURL', avatarIcon)
170202
profilePic.onload = () => {
171203
ColorThief.getColor(avatarIcon)
172204
.then(color => {
173-
bgImg.style.backgroundColor = "rgb(" + color + ")";
205+
let banner = localStorage.getItem('bannerURL')
206+
207+
if (!banner) {
208+
let bannerURL = "rgb(" + color + ")";
209+
bgImg.style.backgroundColor = bannerURL
210+
localStorage.setItem('bannerURL', bannerURL)
211+
}
174212
})
175213
.catch(err => {
176214
console.log(err)
@@ -291,6 +329,17 @@
291329

292330
}
293331
document.getElementById('badgeTooltipText').innerText = `v${version} @ 26.06.22`
332+
let banner = localStorage.getItem('bannerURL')
333+
let pfp = localStorage.getItem('pfpURL')
334+
335+
if (banner) {
336+
let bg = document.getElementById('bg')
337+
bg.style.backgroundImage = banner.startsWith('https://')?`url(${banner})`:banner;
338+
}
339+
if (pfp) {
340+
let pfpIcon = document.getElementById('pfp')
341+
pfpIcon.src = pfp
342+
}
294343
loadTxt.innerText = "Loading... (100%)"
295344
loadBar.style.width = '80vw'
296345
setTimeout(() => {
@@ -382,7 +431,13 @@
382431
url1div.style.filter = "opacity(1)";
383432
url1div.style.zIndex = "1"
384433
})
385-
434+
ipcRenderer.on('setCustomBanner', (arg, event) => {
435+
let url1div = document.getElementById('bannerMenu');
436+
url1div.style.transition = "all 500ms ease";
437+
url1div.style.filter = "opacity(1)";
438+
url1div.style.zIndex = "1"
439+
})
440+
386441
ipcRenderer.on('clearCacheResponse', (event, arg) => {
387442
const clearObj = {
388443
'clientVar': "",
@@ -492,6 +547,10 @@
492547
let closeBtn = document.getElementById('closeBtn5');
493548
closeBtn.parentElement.style.filter = "opacity(0)";
494549
closeBtn.parentElement.style.zIndex = "-1";
550+
} case 6: {
551+
let closeBtn = document.getElementById('closeBtn6');
552+
closeBtn.parentElement.style.filter = "opacity(0)";
553+
closeBtn.parentElement.style.zIndex = "-1";
495554
}
496555
}
497556

@@ -511,9 +570,9 @@ <h3 class='nickname' id='nickname'> Testing Only</h3>
511570
<h4 class='username' id='username'> Test Account#0001</h4>
512571
<div class='images things' id='play'>Playing a game</div>
513572
<input type="text" class='genshin things' id='name' value='Genshin Impact' placeholder="Game Name" onclick="this.select()" onchange="RPCfunc()"></input>
514-
<img src='https://cdn.discordapp.com/app-assets/929391097824821318/929483644731551754.png' alt='paimon' width="60" height="60" class='paimon things' id='paimon' onclick="paimonClick()">
573+
<img src='https://cdn.discordapp.com/app-assets/929391097824821318/929483644731551754.png' alt='paimon' width="56" height="56" class='paimon things' id='paimon' onclick="paimonClick()">
515574
<img src='assets/yae.png' alt='small' width="20" height="20" class='yae things' id='small' onclick='smallClick()'>
516-
<img src="./assets/circle.png" alt="circle" width="10" height="10", class='circle'>
575+
<img src="./assets/circle.png" alt="circle" width="11" height="11", class='circle'>
517576
<img src="./assets/devportal.png" alt="discord-dev-portal" width="10" height="10", class='devportal' onclick="devPortalFunc()">
518577

519578
<img src="./assets/badge-dev.png" alt="developer-badge" width="10" height="10", class='badge' id='badge'>
@@ -539,6 +598,11 @@ <h4 class='username' id='username'> Test Account#0001</h4>
539598
<input class='btnUrl2 stuff items btnUrls' placeholder="Button Url 2" id='btnUrl2' value="" onclick="this.select()" onchange="RPCfunc()"></input>
540599
<button type="button" class="closeBtn" onclick="closeFunc(2)" id="closeBtn2" data-type="closeBtn">Close Menu</button>
541600
</div>
601+
<div id='bannerMenu'>
602+
<div class='bannerTxt'>Input a Custom Banner URL:</div>
603+
<input class='btnUrl2 stuff items btnUrls' placeholder="Banner URL" id='bannerBtn' value="" onclick="this.select()" onchange="UploadBanner()"></input>
604+
<button type="button" class="closeBtn" onclick="closeFunc(6)" id="closeBtn6" data-type="closeBtn">Close Menu</button>
605+
</div>
542606
<div id='paimonMenu'>
543607
<div class='paimonTxt URL'>Edit Large Image:</div>
544608
<input class='largeImgTxt stuff items btnUrls' placeholder="Large Image Text" id='largeImgTxt' value="" onclick="this.select()" onchange="RPCfunc()"></input>

main.js

Lines changed: 13 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -69,6 +69,12 @@ const createWindow = () => {
6969
}
7070
}
7171

72+
const banner = () => {
73+
let response = "Successfully opened banner GUI";
74+
mainWindow.webContents.send('setCustomBanner', response);
75+
console.log(response)
76+
}
77+
7278
const openSavesMenu = () => {
7379
mainWindow.webContents.send('enableSaves')
7480
}
@@ -81,6 +87,8 @@ const createWindow = () => {
8187
{ label: '╸Profiles╺', click: openSavesMenu},
8288
]},
8389
{ label: 'Separator', type: 'separator'},
90+
{ label: '╸Upload Banner╺', click: banner },
91+
{ label: 'Separator', type: 'separator'},
8492
{ label: '╸Quit Gluta╺', role: 'quit' },
8593
];
8694
tray.popUpContextMenu(Menu.buildFromTemplate(menu))
@@ -169,12 +177,12 @@ ipcMain.on('asynchronous-message', (event, arg) => {
169177
if (!btnUrl1Var.startsWith('https://')) {
170178
let errMsg = "Button 1 Url is not a real URL. It needs to start with 'https://'";
171179
console.log(errMsg);
172-
event.sender.send('errMsgDtt', errMsg );
180+
event.sender.send('errMsgDttAlert', errMsg );
173181
return;
174182
} else if (!btnUrl2Var.startsWith('https://')) {
175183
let errMsg = "Button 2 Url is not a real URL. It needs to start with 'https://'";
176184
console.log(errMsg);
177-
event.sender.send('errMsgDtt', errMsg );
185+
event.sender.send('errMsgDttAlert', errMsg );
178186
return;
179187
}
180188

@@ -227,21 +235,22 @@ ipcMain.on('asynchronous-message', (event, arg) => {
227235
}
228236

229237
// sets the rich presence based on the "activity" object
230-
client.on("ready", () => {
238+
client.on("ready", (person) => {
231239
client.request("SET_ACTIVITY", {pid: process.pid, activity: activity});
232240

233241
console.log("Successfully set Rich Presence!");
234242
// collects client information for setting avatar and username in preview
235243
if (!client.user) return
236244
let { id, username, discriminator, avatar } = client.user;
245+
237246
const userData = {
238247
avatarIcon: `https://cdn.discordapp.com/avatars/${id}/${avatar}.${avatar.startsWith('a_') ? 'gif' : 'png'}?size=160`,
239248
userID: username,
240249
userDisc: discriminator,
241250
}
242251
// send message to index.html
243252
event.sender.send('asynchronous-reply', userData );
244-
console.log(userData);
253+
console.log(client.user);
245254

246255

247256
});

package.json

Lines changed: 4 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
22
"name": "gluta",
33
"productName": "Gluta",
4-
"version": "1.6.53",
4+
"version": "1.6.54",
55
"description": "A discord Rich Presence script built for Genshin Impact made to be as easy as possible to use.",
66
"main": "main.js",
77
"scripts": {
@@ -41,19 +41,15 @@
4141
"config": {},
4242
"dependencies": {
4343
"@electron/remote": "^2.0.1",
44-
"axios": "^0.25.0",
4544
"colorthief": "^2.3.2",
4645
"discord": "^0.8.2",
46+
"discord-banner": "^1.6.7",
4747
"discord-rpc": "^4.0.1",
48-
"discord.js": "^13.6.0",
49-
"dominant-color": "^0.0.1",
5048
"electron-packager": "^15.4.0",
5149
"electron-squirrel-startup": "^1.0.0",
5250
"electron-util": "^0.17.2",
5351
"jshint": "^2.13.4",
54-
"node-fetch": "^2.6.7",
55-
"node-vibrant": "^3.2.1-alpha.1",
56-
"vibrant": "^0.0.1"
52+
"node-fetch": "^2.6.7"
5753
},
5854
"devDependencies": {
5955
"@electron-forge/cli": "^6.0.0-beta.63",
@@ -62,18 +58,13 @@
6258
"@electron-forge/maker-squirrel": "^6.0.0-beta.63",
6359
"@electron-forge/maker-zip": "^6.0.0-beta.63",
6460
"@electron/remote": "^2.0.1",
65-
"axios": "^0.25.0",
6661
"colorthief": "^2.3.2",
6762
"discord": "^0.8.2",
6863
"discord-rpc": "^4.0.1",
69-
"discord.js": "^13.6.0",
70-
"dominant-color": "^0.0.1",
7164
"electron": "^19.0.6",
7265
"electron-builder": "^23.1.0",
7366
"electron-packager": "^15.4.0",
7467
"electron-squirrel-startup": "^1.0.0",
75-
"electron-util": "^0.17.2",
76-
"node-vibrant": "^3.2.1-alpha.1",
77-
"vibrant": "^0.0.1"
68+
"electron-util": "^0.17.2"
7869
}
7970
}

0 commit comments

Comments
 (0)