A couple of days ago I create a blog about an idea I have to create a monitoring dashboard for Hive accounts (link). The idea behind it is to have more than just the reputation of an account.
The original idea was a dashboard, but I also had a phase two in mind where you could have certain indicators next to the username (where you can find the reputation now).
This idea would need someone to develop a dashboard with these stats or someone who can integrate it in the front-ends. But since I'm not a developer I can not make this myself (and I also have no Claude code and knowledge about that).
Trying something myself
So I tried something else. I wrote a prompt in Copilot could help me indicate whether an account is listed on the Hivewatchers spaminator blacklist (https://spaminator.me/api/bl/all.json).
Copilot suggested to make a Tampermonkey script. Tampermonkey is a Chrome plugin that can run scripts on websites you visit.
I've asked Copilot to make a script that checks the blacklist and when an account is on the list, it should highlight the account by making the username red and add a warning sign next to it.
I needed to adjustment my prompt a bit, so the script also worked on the snaps page, but after about 20 minutes I had a working script.
I went to the #all stream and scrolled through it. And then I noticed it worked, as you can see in the screenshot below.
I was quite excited. In this case I would also been warned by the low reputation and the downvote, but there are other cases where scammers have a higher rep and the posts might not (yet) have been downvoted.
And the cool part is that it also works in Snaps, which is often flooded with spamming/scamming accounts that are trying to harvest rewards and extract it from Hive.
Do you want it too?
If you like the script, then download and install the Tampermonkey extension in your Chrome browser and add the script below.
It probably only works in Chrome in combination with PeakD, but feel free to use the script and adjust it for your browser and favorite front-end.
// ==UserScript==
// @name PeakD Blacklist Warning
// @namespace https://peakd.com/
// @version 1.3
// @description Makes the username red + warning sign when the user is on the Spamminator blacklist
// @match https://peakd.com/*
// @grant GM_xmlhttpRequest
// @run-at document-end
// ==/UserScript==
(function() {
const BLACKLIST_URL = "https://spaminator.me/api/bl/all.json";
const ICON = " ⚠️";
GM_xmlhttpRequest({
method: "GET",
url: BLACKLIST_URL,
onload: function(response) {
const data = JSON.parse(response.responseText);
const blacklist = new Set(data.result.map(u => u.toLowerCase()));
const observer = new MutationObserver(() => checkUsernames());
observer.observe(document.body, { childList: true, subtree: true });
checkUsernames();
function checkUsernames() {
// ✔️ Alle bekende username-elementen op PeakD
const selectors = [
"a.username", // klikbare usernames
"span.username", // inline usernames
"h6.text-semibold.no-margin", // header usernames
"span[data-v-24e8a7fa]" // jouw ontbrekende variant
];
selectors.forEach(sel => {
document.querySelectorAll(sel).forEach(el => {
const username = el.textContent.trim().toLowerCase();
if (blacklist.has(username)) {
if (!el.dataset.blacklisted) {
el.dataset.blacklisted = "true";
// ✔️ Username rood + bold
el.style.color = "red";
el.style.fontWeight = "bold";
// ✔️ Icoontje toevoegen (Vue-proof)
const warn = document.createElement("span");
warn.textContent = ICON;
warn.style.color = "red";
warn.style.fontWeight = "bold";
warn.style.marginLeft = "4px";
el.appendChild(warn);
}
}
});
});
}
}
});
})();
This experiment got me excited and I might add some more scripts that gather other data which I find interesting to see when I'm curating.
For the record; I'm not making decisions just on the indicators, but it does give me a warning sign to take a close look at the account before I reward the content.
I'd love to hear what you think about this script. Especially if you have tried it yourself.
I don't know if it will work in other front-ends. I haven't tested it yet, but I doubt it. But with a good prompt and 'inspecting' the username fields in your favorite front-end, you might be able to adjust so it also works in there.
