Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- function resolveUUID(name, time) {
- var t = '';
- if (time) {
- t = '?at=' + time;
- }
- var response = UrlFetchApp.fetch("https://api.mojang.com/users/profiles/minecraft/" + name + t);
- if (response.getResponseCode() == 204) {
- return resolveUUID(name, 1232457052);
- }
- var data = JSON.parse(response.getContentText());
- if (data.hasOwnProperty("id") && data.hasOwnProperty("name")) {
- return { id: data.id, validname: data.name };
- }
- return "";
- }
- function testRecheckFriends() {
- var sheet = SpreadsheetApp.getActiveSheet();
- var v = sheet.getRange('F9').getValue();
- if (v === '') {
- sheet.getRange('F9').setValue('Recheck friends');
- recheckFriendsNames();
- }
- v = sheet.getRange('F10').getValue();
- if (v === '') {
- sheet.getRange('F10').setValue('Auto-fill');
- resolveFriends();
- }
- }
- function resolveName(uuid) {
- var response = UrlFetchApp.fetch("https://api.mojang.com/user/profiles/" + uuid + "/names");
- var data = JSON.parse(response.getContentText());
- if (data.length > 0) {
- var oldnames = getAllNames(data);
- data = data[data.length - 1];
- if (data.hasOwnProperty("name")) {
- return { name: data.name, oldnames: oldnames };
- }
- }
- return "";
- }
- function getAllNames(data) {
- if (data.length <= 1) {
- return [];
- }
- var names = [];
- for (var i = 0; i < data.length; i++) {
- if (data[i].hasOwnProperty("name")) {
- names.push(data[i].name);
- }
- }
- return names;
- }
- function recheckFriendsNames() {
- resolveFriends(true);
- }
- function resolveFriends(m) {
- var sheet = SpreadsheetApp.getActiveSheet();
- var c = true;
- var i = 13;
- while (c) {
- sheet.getRange('A' + i).setBackground('#FFAAAA');
- var line = sheet.getRange('B' + i + ':C' + i).getValues()[0];
- if (line[0] === '' && line[1] === '') {
- c = false;
- } else {
- if (line[0] !== '' && line[1] === '') {
- sheet.getRange('A' + i).setBackground('#AAAAFF');
- var uuidData = resolveUUID(line[0]);
- var uuid = uuidData.id;
- var valid = uuidData.validname;
- sheet.getRange('C' + i).setValue(uuid);
- sheet.getRange('B' + i).setValue(valid);
- var nameData = resolveName(uuid);
- var oldnames = nameData.oldnames;
- if (oldnames.length > 0) {
- var s = '';
- for (var q = 0; q < oldnames.length; q++) {
- s += oldnames[q] + '\r\n';
- }
- sheet.getRange('B' + i).setNote(s);
- }
- } else if ((line[1] !== '' && line[0] === '') || m) {
- sheet.getRange('A' + i).setBackground('#AAAAFF');
- var nameData = resolveName(line[1]);
- var name = nameData.name;
- var oldnames = nameData.oldnames;
- Logger.log('oldnames for ' + name + ' is ' + oldnames);
- sheet.getRange('B' + i).setValue(name);
- if (oldnames.length > 0) {
- var s = '';
- for (var q = 0; q < oldnames.length; q++) {
- s += oldnames[q] + '\r\n';
- }
- sheet.getRange('B' + i).setNote(s);
- }
- }
- }
- sheet.getRange('A' + i).setBackground('#AAFFAA');
- i++;
- }
- sheet.getRange('A13:A' + i).setBackground('#FFFFFF');
- }
Add Comment
Please, Sign In to add comment