English version: https://gist.github.com/BIRTAX38/1cbf2232f9a4adc26777ae02e62bca19
Note
Jeśli nie możesz lub nie wiesz jak właczyć konsolę deweloperską w aplikacji użyj przeglądarki.
Note
Data w „Znajomy od” odnosi się do daty, w której zaproszenie do znajomych zostało wysłane przez jedną ze stron.
Jak korzystać z tego skryptu:
- Wejdź na stronę https://discord.com/channels/@me
- Zaloguj się
- Przytrzymaj
Ctrl
+Shift
+I
aby włączyć Narzędzia dla deweloperów - Przejdź do zakładki Console
- Wklej skrypt
- Jeżeli nie możesz wkleić skryptu wpisz:
allow pasting
i spróbuj ponownie wklić skrypt. Jeżeli możesz wkleić skrypt pomiń ten krok - Naciśnij
Enter
i twoja lista znajomych zostanie pobrana jako plik tekstowy
var token = (webpackChunkdiscord_app.push([[''],{},e=>{m=[];for(let c in e.c)m.push(e.c[c])}]),m).find(m=>m?.exports?.default?.getToken!==void 0).exports.default.getToken();
fetch('https://discord.com/api/v9/users/@me/relationships', {
method: 'GET',
headers: {
'Authorization': token
}
})
.then(response => {
if (!response.ok) {
throw new Error('Network response was not ok');
}
return response.json();
})
.then(data => {
const jsonData = data;
const userTimeZoneOffset = new Date().getTimezoneOffset() * 60000;
const filteredData = jsonData.filter(item => item.type === 1);
let text = '';
filteredData.forEach(item => {
const username = item.user.username;
const globalName = item.user.global_name ? unicodeToChar(item.user.global_name) : username;
const nickname = item.nickname ? `Pseudonim znajomego: ${unicodeToChar(item.nickname)}\n` : '';
const sinceUTC = new Date(item.since);
const sinceLocal = new Date(sinceUTC.getTime() - userTimeZoneOffset);
const since = sinceLocal.toISOString().replace(/T/, ' ').replace(/\..+/, '');
const id = item.id;
text += `Nazwa użytkownika: ${username}\n`;
text += `Wyświetlana nazwa: ${globalName}\n`;
text += `${nickname}`;
text += `Id: ${id}\n`;
text += `Znajomy od: ${since}\n\n\n`;
});
fetch('https://discord.com/api/v9/users/@me', {
method: 'GET',
headers: {
'Authorization': token
}
})
.then(response => response.json())
.then(data => {
const discordUserData = data;
const username = discordUserData.username;
const globalName = discordUserData.global_name ? unicodeToChar(discordUserData.global_name) : username;
const id = discordUserData.id;
text += `\n\n\nInformacje o koncie z którego pobrano listę znajomych:\n`
text += `Nazwa użytkownika: ${username}\n`
text += `Wyświetlana nazwa: ${globalName}\n`
text += `Id: ${id}\n`
const today = new Date();
const day = String(today.getDate()).padStart(2, '0');
const month = String(today.getMonth() + 1).padStart(2, '0');
const year = today.getFullYear();
const formattedDate = `${day}-${month}-${year}`;
//console.log(formattedDate);
const blob = new Blob([text], { type: 'text/plain' });
const fileName = `Discord Friend List ${username} ${formattedDate}.txt`;
const link = document.createElement('a');
link.href = window.URL.createObjectURL(blob);
link.download = fileName;
link.click();
})
.catch(error => console.error('Błąd:', error));
})
.catch(error => console.error('Błąd:', error));
function unicodeToChar(text) {
return text.replace(/\\u[\dA-F]{4}/gi,
function (match) {
return String.fromCharCode(parseInt(match.replace(/\\u/g, ''), 16));
});
}