Sadržaj:
Napominjemo da stav Discord o instalaciji proširenja i dodatnih dodataka još uvijek nije potpuno jasan. Neki korisnici automatski bivaju banirani od strane AI-a ako odaberu pogrešne postavke proširenja, koje se doživljavaju kao pokušaj ometanja rada softvera, stoga koristite upute u nastavku na vlastitu odgovornost.
Sve daljnje radnje podrazumijevaju interakciju s računalnim programom Discord, budući da će biti potrebno instalirati dodatak i izvršiti postavke, što je moguće realizirati samo na PC-u (verzija za preglednik za to nije prikladna). Pri tome će promjenjivi status biti vidljiv svugdje. Ako još niste instalirali Discord na svoj računar, učinite to koristeći upute na linku ispod.
Više informacija: Kako instalirati Discord
Korak 1: Preuzimanje i instalacija BetterDiscorda
Za mogućnost instalacije promjenjivog statusa u Discordu odgovara program BetterDiscord.Ona proširuje ukupnu funkcionalnost messengera dodavanjem novih funkcija, od kojih ćemo neke koristiti u nastavku.
Pređite na preuzimanje BetterDiscord s službene stranice
- Iskoristite gornju vezu da pređete na službenu stranicu i započnete preuzimanje programa.
- Otvorit će se stranica na GitHubu, gdje preporučujemo da odmah odaberete datoteku u EXE formatu za preuzimanje instalacijskog programa.
- Nakon završetka preuzimanja otvorite ga iz mape s preuzimanjima ili izravno putem preglednika.
- Potvrdite pravila licencnog ugovora za nastavak instalacije.
- U sljedećem prozoru odaberite prvu opciju — «Install BandagedBD».
- Oz označite «Install To Stable», ako je instalirana obična stabilna verzija Discorda. Put do datoteka određuje se automatski, ali ako to nije učinjeno, morat ćete ručno navesti lokaciju gdje se nalazi izvršna datoteka za pokretanje softvera.
- Čekajte završetak instalacije, nakon čega zatvorite ovaj prozor i ponovo pokrenite Discord.







Time je dodavanje proširene funkcionalnosti u program završeno. U ovom članku razgovarat ćemo samo o dostupnim pluginima, a ako želite saznati što još nudi BetterDiscord, upoznajte se s opisom na službenoj stranici ili sami provjerite svaku stavku u samom Discordu.
Korak 2: Izrada plugina za promjenjivi status
Izradit ćemo plugin koji će kasnije biti učitan u BetterDiscord i omogućiti podešavanje promjenjivog statusa. Već je napisan pomoću jezika JavaScript — kod je dostupan javnosti.Ostat će samo stvoriti datoteku iz njega i učitati je za korištenje u programu.
- Za to otvorite Discord i kliknite na ikonu s zupčanikom, čime ulazite u opće postavke.
- Vidjet ćete novi odjeljak — «Bandaged BD», gdje kliknite na stavku «Plugins».
- Kliknite na gumb «Open Plugin Folder», kako biste prešli u mapu gdje se nalaze svi povezani dodaci.
- Za sada je prazna, budući da nijedno proširenje još nije instalirano, što ćemo sada ispraviti.
- Desnom tipkom miša kliknite na prazno mjesto u direktoriju, pređite mišem na «Stvori» i odaberite opciju «Tekstualni dokument».
- Možete ne mijenjati naziv i dvaput kliknuti za uređivanje putem «Bilješke».
- Zalijepite sljedeći kod:
//META{"name":"AnimatedStatus"}*//
class AnimatedStatus {
/* BD funkcije */
getName () {
return "AnimatedStatus";
}getVersion () {
return "0.8.4";
}getAuthor () {
return "toluschr";
}getDescription () {
return "Animirajte svoj Discord status";
}setData (key, value) {
BdApi.setData(this.getName(), key, value);
}getData (key) {
return BdApi.getData(this.getName(), key);
}/* Kod vezan za animacije */
load () {
this.animation = this.getData("animation");
this.timeout = this.getData("timeout");
Status.authToken = this.getData("token");
}start () {
if (this.animation == undefined || this.timeout == undefined || Status.authToken == undefined) return;
this.Status_Animate();
}stop () {
clearTimeout(this.loop);
Status.unset();
}Status_Animate (index = 0) {
if (index >= this.animation.length) index = 0;Status.set(this.animation[index]);
this.loop = setTimeout(() => { this.Status_Animate(index + 1); }, this.timeout);
}/* Funkcije vezane za postavke */
strToAnimation (str) {
let lines = str.split("n");
let out = [];
for (let i = 0; i < lines.length; i++) {
if (lines[i].length == 0) continue;out.push(JSON.parse("[" + lines[i] + "]"));
}
return out;
animationToStr (animation) {
if (animation == undefined) return ""let out = "";
for (let i = 0; i < animation.length; i++) {
out += JSON.stringify(animation[i]).substr(1).slice(0, -1) + "n";
}
return out;
}getSettingsPanel () {
let settings = document.createElement("div");
settings.style.padding = "10px";// Auth token
settings.appendChild(GUI.newLabel("AuthToken (https://discordhelp.net/discord-token)"));
let token = GUI.newInput();
token.value = this.getData("token");
settings.appendChild(token);settings.appendChild(GUI.newDivider());
// timeout
settings.appendChild(GUI.newLabel("Vrijeme po ključnom okviru"));
let timeout = GUI.newInput();
timeout.value = this.getData("timeout");
settings.appendChild(timeout);settings.appendChild(GUI.newDivider());
// Animacija
settings.appendChild(GUI.newLabel('Animacija ("" za bez Emoji)'));
let animation = GUI.newTextarea();
animation.style.fontFamily = "SourceCodePro,Consolas,Liberation Mono,Menlo,Courier,monospace";
animation.placeholder = '"Poruka 1", "Emoji 1"n"Poruka 2", ""n...';
animation.value = this.animationToStr(this.getData("animation"));
settings.appendChild(animation);// Gumb za spremanje
settings.appendChild(GUI.newDivider());
let save = GUI.newButton("Spremi");
save.onclick = () => {
// Postavi Auth token
this.setData("token", token.value);// Postavi timeout
this.setData("timeout", timeout.value);// Postavi Animaciju
this.setData("animation", this.strToAnimation(animation.value));this.stop();
this.load();
this.start();
};
settings.appendChild(save);// Kraj
return settings;
}
}/* Status API */
const Status = {
authToken: "",request: () => {
let req = new XMLHttpRequest();
req.open("PATCH", "/api/v6/users/@me/settings", true);
req.setRequestHeader("authorization", Status.authToken);
req.setRequestHeader("content-type", "application/json");
return req;
},set: (status) => {
Status.request().send('{"custom_status":{"text":"' + status[0] + '", "emoji_name": "' + status[1] + '"}}');
},unset: () => {
Status.request().send('{"custom_status":null}');
}
};/* GUI Wrapper */
const GUI = {
newInput: () => {
let input = document.createElement("input");
input.className = "inputDefault-_djjkz input-cIJ7To";
return input;
},newLabel: (text) => {
let label = document.createElement("h5");
label.className = "h5-18_1nd";
label.innerText = text;
return label;
},newDivider: () => {
let divider = document.createElement("div");
divider.style.paddingTop = "15px";
return divider;
},newTextarea: () => {
let textarea = document.createElement("textarea");
textarea.className = "input-cIJ7To scrollbarGhostHairline-1mSOM1";
textarea.style.resize = "vertical";
textarea.rows = 4;
return textarea;
},newButton: (text) => {
let button = document.createElement("button");
button.className = "button-38aScr lookFilled-1Gx00P colorBrand-3pXr91 sizeSmall-2cSMqn";
button.innerText = text;
return button;
}
};
- Nakon toga kliknite na izbornik «Datoteka» i iz pojavljenog popisa odaberite «Spremi kao».
- U prozoru «Spremanje» otvorit će se ispravna lokacija, stoga je ne treba mijenjati.U polju «Tip datoteke» navedite «Sve datoteke *.*».
- Kao naziv datoteke upišite «animated-status.plugin.js» i potvrdite spremanje.
- Vratite se u prethodni direktorij, provjerite postoji li tamo JavaScript datoteka, a tekstualni dokument možete izbrisati jer je ostao prazan.
- Otvorite izbornik «Plugins» i provjerite postoji li upravo stvoreni plugin. Pomaknite klizač za njegovu aktivaciju.
- Sve ostale radnje izvode se putem «Settings», o čemu će biti riječi u sljedećem koraku.













Korak 3: Postavljanje promjenjivog statusa
Zadnja faza — postavljanje promjenjivog statusa pomoću dodanog plugina. Sada je potrebno postaviti sam plugin, navodeći samo jedan parametar. Njegovo dobivanje odvija se u nekoliko koraka, stoga ćemo ga razraditi posebno.
Dobivanje autorizacijskog tokena
Autorizacijski token potreban je pluginu za automatske radnje promjene statusa. Za njegovo dobivanje bit će potrebna konzola za programere i već postavljen uobičajeni status.
- Kliknite na svoju avatar za otvaranje izbornika radnji sa statusima.
- Odaberite posljednju opciju — «Postavi korisnički status».
- Upišite bilo koju poruku i spremite promjene.
- Ponovno otvorite izbornik sa statusima i pritisnite Ctrl + Shift + I za prikaz konzole za programere.
- U njoj pređite na karticu «Network».
- Iz popisa imena odaberite «science» i otvorite karticu «Headers».
- Spustite se gotovo do kraja popisa parametara, gdje pronađite redak «authorization» i kopirajte njegovu vrijednost.
- Pređite u «Plugins», otvorite postavke potrebnog plugina i zalijepite token u predviđeno polje.








Dodavanje statusa za promjenu
Ostaje samo odabrati vrijeme nakon kojeg će se statusi mijenjati i upisati njihovu potrebnu količinu, što se odvija na sljedeći način:
- U izborniku postavki plugina postavite kašnjenje u milisekundama.Unesite kašnjenje od najmanje 3000 kako biste izbjegli moguće blokiranje računa.
- Ako želite dodati emotikone u status, prvo pronađite bilo koju stranicu koja prikazuje njihove slike i kopirajte ih.
- Koristite dvostruke navodnike —
""
, unutar kojih umetnite statuse u zasebnim redovima. Podržava se i ćirilica i latinica, a o emotikonima već znate. Kliknite na «Spremi» za spremanje promjenjivog statusa. - Vratite se na svoju stranicu i provjerite promjene.
- Potrebno je pričekati navedeni broj sekundi kako bi se status automatski promijenio.




