Melvor Discord Nickname Generator

Generates a Discord nickname with a common format to display completion log stats

// ==UserScript==
// @name         Melvor Discord Nickname Generator
// @version      1.1
// @description  Generates a Discord nickname with a common format to display completion log stats
// @author       Asthereon
// @match        https://*.melvoridle.com/*
// @grant        none
// @namespace http://tampermonkey.net/
// ==/UserScript==

function copyStringToClipboard (str) {
   // Create new element
   var el = document.createElement('textarea');
   // Set value (string to be copied)
   el.value = str;
   // Set non-editable to avoid focus and move outside of view
   el.setAttribute('readonly', '');
   el.style = {position: 'absolute', left: '-9999px'};
   document.body.appendChild(el);
   // Select text inside element
   el.select();
   // Copy text to clipboard
   document.execCommand('copy');
   // Remove temporary element
   document.body.removeChild(el);
}

function notify(nickname) {
	One.helpers('notify', {
		type: 'dark',
		from: 'bottom',
		align: 'center',
		message: 'Copied ' + nickname + ' to the clipboard.'
	});
}

function getDiscordNickname(event) {
	totalFront = event.data.totalFront;
	totalEnd = event.data.totalEnd;
	containerFront = event.data.containerFront;
	containerEnd = event.data.containerEnd;
	spacingDelimiter = event.data.spacingDelimiter;
    let elements = Array.from(document.querySelectorAll('#completion-total, #completion-skills, #completion-mastery, #completion-items, #completion-monsters, #account-name'));
	let items = elements.map(function(x){return x.textContent.replace("%", "");});
	let nickname = items[5] + totalFront + items[0] + totalEnd + containerFront + items[1] + spacingDelimiter + items[2] + spacingDelimiter + items[3] + spacingDelimiter + items[4] + containerEnd;
	copyStringToClipboard(nickname);
	notify(nickname);
}

var setupButton = function() {
  if ($("#nickname-button").length) return;
  var containerRef = $(".content-side ul.nav-main li.nav-main-heading:last");
  var li = $('<li class="nav-main-item"></li>');
  containerRef.before(li);
  var button = $([
      '<a id="nickname-button" class="nav-main-link" href="javascript:void(0);">',
      '<img class="nav-img" src="assets/media/main/profile_header.svg">',
      '<span class="nav-main-link-name">Nickname</span>',
      '<small id="nickname-status"></small>',
      '</a>'
  ].join(""));
  li.append(button);
  button.on("click", {
	totalFront: "[",
	totalEnd: "]",
	containerFront: "{",
	containerEnd: "}",
	spacingDelimiter: " | "
	}, getDiscordNickname);
}

setTimeout(function() {
	setupButton();
},100);

QingJ © 2025

镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址