Apparently, my karma script didn't annoy enough people, here's a Tampermonkey script that shows your karma next to the username
Apparently, my karma script didn't annoy enough people, here's a Tampermonkey script that shows your karma next to the username
Please excuse my sub-par JavaScript, I am a backend dev.
All you need to do is paste this into Tampermonkey and enter your username and your instance url (on two locations).
This is not showing other users' scores and it doesn't make your score visible to anyone else than yourself.
So no need for karma farming. This is just for fun.
// ==UserScript==
// @name Lemmy score
// @namespace http://tampermonkey.net/
// @version 0.1
// @description Shows your total post/comment score at the top right.
// @author You
// @match ENTER INSTANCE URL HERE (leave the asterisk after the URL)*
// @icon https://www.google.com/s2/favicons?sz=64&domain=feddit.de
// @grant none
// @run-at document-idle
// ==/UserScript==
(function() {
'use strict';
var USERNAME = "ENTER USERNAME HERE";
var INSTANCE_URL = "ENTER INSTANCE URL HERE";
var totalScore = 0;
var currentPage = 1;
function postResult() {
var navbar = document.getElementsByClassName("collapse navbar-collapse")[0];
console.log(navbar);
var ul = document.createElement("ul");
ul.className = "navbar-nav";
ul.id = "karma-ul";
var li = document.createElement("li");
li.id = "karma-li";
li.className = "nav-item";
li.innerHTML = '<div id="karma-div">' + totalScore + '</div>'
navbar.appendChild(ul);
ul.appendChild(li);
}
function callPage() {
var userRequest = new XMLHttpRequest();
userRequest.onreadystatechange = function () {
if (this.readyState == 4) {
if (this.status == 200 ) {
var res = JSON.parse(this.responseText);
if (res.posts.length==0 && res.comments.length==0) {
postResult();
} else {
totalScore += res.posts.map(x => x.counts.score).reduce((partialSum, a) => partialSum + a, 0);
totalScore += res.comments.map(x => x.counts.score).reduce((partialSum, a) => partialSum + a, 0);
currentPage++;
callPage();
}
}
}
}
userRequest.open("GET", INSTANCE_URL + "/api/v3/user?username=" + USERNAME + "&limit=50&page=" + currentPage, true);
userRequest.send();
}
setTimeout(callPage, 200);
/*var xhttp = new XMLHttpRequest();
xhttp.onreadystatechange = function() {
if (this.readyState == 4) {
if (this.status == 200 ) {
var obj = JSON.parse(this.responseText);
var simple = document.getElementById("simple");
if (obj.response == 200) {
simple.style = "color:green";
}
else {
simple.style = "color:red";
}
}
}
};
//make call to Google App Engine
xhttp.open("GET", "https://simplewikiexists.appspot.com/?q=" + article, true);
xhttp.send();*/
})();
8
comments
Can we pretend for a little longer that this isn't reddit?
3 0 ReplyIt's easy. All you got to do is not install the script.
4 0 ReplyFair... My concern is people starting to engage with content here only for the promise of fake internet points.
To each their own tho.
3 0 Reply
I thought Lemmy didn't have karma.
1 0 Reply
You've viewed 8 comments.
Scroll to top