Askolei / PokemonForAll Reference Generator

// ==UserScript==
// @name        PokemonForAll Reference Generator
// @namespace   about:blank
// @description For QRCoders : generate the line to copy/paste in your references at the end of comment area
// @include     https://www.reddit.com/r/PokemonForAll/comments/*
// @version     1
// @icon		https://cdn0.iconfinder.com/data/icons/activities-1/24/233-48.png
// @grant       none
// ==/UserScript==

// ==OpenUserJS==
// @author Askolei
// ==/OpenUserJS==

// If found returns the date of the post mentionning your name in the comment area
function searchCompletionDate(qrcoder)
{
	var comments = document.querySelectorAll("div[data-type=comment]");
	for(var i = 0 ; i < comments.length ; ++i)
	{
		var pars = comments[i].querySelectorAll("div.md p");
		for(var j = 0 ; j < pars.length ; ++j)
		{
			var anchors = pars[j].querySelectorAll("a");
			for(var k = 0 ; k < anchors.length ; ++k)
			{
				if(anchors[k].href.endsWith(qrcoder))
				{
					var time = comments[i].querySelector("p.tagline time");
					var jpdate = time.dateTime.slice(0, 10); // Japan Format : YYYY-MM-DD
					var frdate = jpdate.slice(8, 10) + "/" + jpdate.slice(5, 7) + "/" + jpdate.slice(2, 4); // Fre format : DD/MM/YY
					return frdate;
				}
			}
		}
	}
	return "";
}

// Parsing some important elements

var sitetable = document.querySelector("div#siteTable");
var title = sitetable.querySelector("p.title");
var tagline = sitetable.querySelector("p.tagline");
var author = tagline.querySelector("a.author");

var postname = title.querySelector("a.title").innerHTML;
var posthref = document.querySelector("input#shortlink-text").value;
var authname = author ? "/u/" + author.innerHTML : "???";

var firstline = sitetable.querySelector("div.entry div.usertext-body div.md *").innerHTML;
var typematch = firstline.match(/\[(\w+)\]/) || []; // [gen] ? [event] ?
var posttype = (typematch.length > 1) ? typematch[1] : "gen";

var username = document.querySelector("span.user a").innerHTML; // It's you !
var completed = searchCompletionDate("/u/" + username);

// Create the reference line and gloriously attach it at the end of comment area, ready for copy pasta

if(completed)
{
	var refline = "|[" + postname + "](" + posthref + ")|" + posttype + "|" + completed + "|" + authname + "|";
	var element = document.createElement("div");

	element.id = "refline";
	element.innerHTML = refline;
	element.style = "font-size: 11pt; color: #0f0;";

	document.querySelector("div.commentarea").appendChild(element);
}
else
{
	console.log("Reference Generator Script is working but didn't find your name in the comment area.");
}