[Reddit] ModmailAdditionalInfo

Shows additional user information on the sidebar of modmail

От 22.07.2021. Виж последната версия.

За да инсталирате този скрипт, трябва да имате инсталирано разширение като Tampermonkey, Greasemonkey или Violentmonkey.

За да инсталирате този скрипт, трябва да имате инсталирано разширение като Tampermonkey или Violentmonkey.

За да инсталирате този скрипт, трябва да имате инсталирано разширение като Tampermonkey или Violentmonkey.

За да инсталирате този скрипт, трябва да имате инсталирано разширение като Tampermonkey или Userscripts.

За да инсталирате скрипта, трябва да инсталирате разширение като Tampermonkey.

За да инсталирате този скрипт, трябва да имате инсталиран скриптов мениджър.

(Вече имам скриптов мениджър, искам да го инсталирам!)

За да инсталирате този стил, трябва да инсталирате разширение като Stylus.

За да инсталирате този стил, трябва да инсталирате разширение като Stylus.

За да инсталирате този стил, трябва да инсталирате разширение като Stylus.

За да инсталирате този стил, трябва да имате инсталиран мениджър на потребителски стилове.

За да инсталирате този стил, трябва да имате инсталиран мениджър на потребителски стилове.

За да инсталирате този стил, трябва да имате инсталиран мениджър на потребителски стилове.

(Вече имам инсталиран мениджър на стиловете, искам да го инсталирам!)

// ==UserScript==
// @name        [Reddit] ModmailAdditionalInfo
// @namespace   HKR
// @match       https://mod.reddit.com/mail/*
// @grant       none
// @version     1.0
// @author      HKR
// @description Shows additional user information on the sidebar of modmail
// @require     https://greatest.deepsurf.us/scripts/21927-arrive-js/code/arrivejs.js
// @icon        https://www.redditstatic.com/modmail/favicon/favicon-32x32.png
// ==/UserScript==

function Get(url) {
    var xmlHttp = new XMLHttpRequest();
    xmlHttp.open( "GET", url, false );
    xmlHttp.send( null );
    return xmlHttp.responseText;
}

function timeConverter(UNIX_timestamp){
  var a = new Date(UNIX_timestamp * 1000);
  var months = ['Jan','Feb','Mar','Apr','May','Jun','Jul','Aug','Sep','Oct','Nov','Dec'];
  var year = a.getFullYear();
  var month = months[a.getMonth()];
  var date = a.getDate();
  var hour = a.getHours();
  var min = a.getMinutes();
  var sec = a.getSeconds();
  var time = date + ' ' + month + ' ' + year + ' ' + hour + ':' + min + ':' + sec ;
  return time;
}

function addInfo(){
	var dataColor = "#006DC6";
	var username = document.getElementsByClassName("InfoBar__username")[0].innerText;
	var about = "https://www.reddit.com/user/" + username +"/about.json";

	var user = JSON.parse(Get(about));

	var seperator = document.createElement('div');
	seperator.innerHTML = '<div class="InfoBar__modActions">'	
	 + '</div>';

	var userDetails = document.createElement('div');
	userDetails.innerHTML = '<div class="InfoBar__age">'
	+ '<h1 style="color: #1a1a1b; font-size: 18px; margin-bottom: 10px;">u/' + user.data.name + '\'s info</h1>'
	+ '<h1 style="color: #515151; font-size: 15px; margin-bottom: 3px;">Karma</h1>'
	+ '<h1 style="color: '+ dataColor +'; font-size: 13px;">Total: ' + user.data.total_karma + '</h1>'
	+ '<h1 style="color: '+ dataColor +'; font-size: 13px;">Post: ' + user.data.link_karma + '</h1>'
	+ '<h1 style="color: '+ dataColor +'; font-size: 13px;">Comment: ' + user.data.comment_karma + '</h1>'
	+ '<h1 style="color: '+ dataColor +'; font-size: 13px;">Awardee: ' + user.data.awardee_karma + '</h1>'
	+ '<h1 style="color: '+ dataColor +'; font-size: 13px;">Awarder: ' + user.data.awarder_karma + '</h1>'

	+ '<h1 style="color: #515151; font-size: 15px; margin-bottom: 3px; margin-top: 5px;">Other</h1>'
	+ '<h1 style="color: '+ dataColor +'; font-size: 13px;">UserID: ' + user.data.id + '</h1>'
	+ '<h1 style="color: '+ dataColor +'; font-size: 13px;">Created: ' + timeConverter(user.data.created) + '</h1>'
	+ '<h1 style="color: '+ dataColor +'; font-size: 13px;">Verified: ' + user.data.verified + '</h1>'
	+ '<h1 style="color: '+ dataColor +'; font-size: 13px;">Gold: ' + user.data.is_gold + '</h1>'
	+ '<h1 style="color: '+ dataColor +'; font-size: 13px;">Employee: ' + user.data.is_employee + '</h1>'
	+ '<h1 style="color: #515151; font-size: 15px; margin-bottom: 3px; margin-top: 5px;">Icon</h1>'
	+ '<img style="margin-bottom: 10px;" src="' + user.data.icon_img + '" width="100">'

	+ '</div>';
	 
	document.getElementsByClassName("ThreadViewer__infobar")[0].appendChild(seperator);
	document.getElementsByClassName("ThreadViewer__infobar")[0].appendChild(userDetails);
}

const elementToWatch = 'a[class="InfoBar__username"]';
document.arrive(elementToWatch, function () {
	addInfo();
});

if(document.getElementsByClassName("InfoBar__username")[0]) addInfo();