*Ace* (OP)
|
Ciao ragazzi, da poco mi sono cimentato a scrivere userscript da utilizzare con Firefox o Chrome. Avevo visto che fillippone ogni mese costava un resoconto abbastanza bello e completo, e mi è venuta l'idea di creare uno script minimalista che restituisce alcuni dati importanti, come post scritti nel mese corrente o a ritroso, dove li avete scritti e quanti Merit avete ricevuto Vi allego giusto 2 screenshot per avere una idea di quello che ho fatto, non è professionale ma è abbastanza carino   Inserisco anche il codice se qualcuno volesse provarlo e darmi feedback o consigli su cosa inserire, poi eventualmente valuterò di pubblicarlo anche sulla sezione internazionale // ==UserScript== // @name Bitcointalk Monthly Stats + Merit Tracker // @namespace https://bitcointalk.org // @version 1.0 // @description Monthly post and merit statistics for Bitcointalk profile (mobile friendly) // @author *Ace* // @match https://bitcointalk.org/index.php?action=profile* // @grant none // ==/UserScript==
(function () { 'use strict';
const uid = 'inserisci_il_tuo_UID'; const username = 'inserisci_il_tuo_username'; const boxId = 'monthlyStatsBox'; const now = new Date(); let currentMonthOffset = 0;
function pad(n) { return n.toString().padStart(2, '0'); }
function addOneDay(dateString) { const d = new Date(dateString); d.setDate(d.getDate() + 1); return `${d.getFullYear()}-${pad(d.getMonth() + 1)}-${pad(d.getDate())}`; }
function getDateRange(monthOffset = 0) { const date = new Date(now.getFullYear(), now.getMonth() + monthOffset, 1); const year = date.getFullYear(); const month = date.getMonth() + 1; const firstDay = `${year}-${pad(month)}-01`; const lastDay = new Date(year, month, 0).getDate(); const lastDate = `${year}-${pad(month)}-${pad(lastDay)}`; const label = `${date.toLocaleString('en', { month: 'long' })} ${year}`; return { from: firstDay, to: lastDate, label, y: year, m: month }; }
async function fetchBoardData(from, to) { const url = `https://api.ninjastic.space/users/${username}/boards?from=${from}T00:00:00&to=${addOneDay(to)}T00:00:00`; try { const res = await fetch(url); const json = await res.json(); if (json.result !== 'success') return null; return json.data; } catch { return null; } }
async function fetchMeritData(y, m) { const from = `${y}-${pad(m)}-01`; const toDate = new Date(y, m, 0); const to = `${y}-${pad(m)}-${pad(toDate.getDate())}`; const url = `https://bpip.org/smerit.aspx?&to=${username}&start=${from}&end=${to}`;
try { const res = await fetch(url); const htmlText = await res.text(); const parser = new DOMParser(); const doc = parser.parseFromString(htmlText, 'text/html'); const rows = Array.from(doc.querySelectorAll('table tbody tr')); if (!rows.length) return null;
const fromData = {}; let total = 0; rows.forEach(tr => { const tds = tr.querySelectorAll('td'); if (tds.length >= 4) { const name = tds[1].innerText.trim().replace(/\s*\(Summary\)$/i, ''); const count = parseInt(tds[3].innerText.trim()) || 0; total += count; fromData[name] = (fromData[name] || 0) + count; } }); return { total, fromData }; } catch (e) { console.error(e); return null; } }
function createBox() { let box = document.getElementById(boxId); if (box) return box;
box = document.createElement('div'); box.id = boxId; box.style.position = 'fixed'; box.style.left = '5px'; box.style.top = '460px'; box.style.background = '#222'; box.style.color = '#fff'; box.style.padding = '12px'; box.style.borderRadius = '12px'; box.style.fontSize = '13px'; box.style.maxWidth = '340px'; box.style.zIndex = '9999'; box.style.boxShadow = '0 0 8px rgba(0,0,0,0.6)'; box.style.fontFamily = 'Arial, sans-serif';
const content = document.createElement('div'); content.id = `${boxId}-content`; content.innerHTML = 'Loading...'; box.appendChild(content);
const nav = document.createElement('div'); nav.style.marginTop = '8px'; nav.style.display = 'flex'; nav.style.justifyContent = 'space-between';
const prevBtn = document.createElement('button'); prevBtn.textContent = '← Previous Month'; prevBtn.style.flex = '1'; prevBtn.style.marginRight = '4px'; prevBtn.style.padding = '6px'; prevBtn.style.border = 'none'; prevBtn.style.borderRadius = '6px'; prevBtn.style.background = '#444'; prevBtn.style.color = '#fff'; prevBtn.style.cursor = 'pointer'; prevBtn.onclick = () => { currentMonthOffset--; renderStats(); };
const nextBtn = document.createElement('button'); nextBtn.textContent = 'Next Month →'; nextBtn.style.flex = '1'; nextBtn.style.marginLeft = '4px'; nextBtn.style.padding = '6px'; nextBtn.style.border = 'none'; nextBtn.style.borderRadius = '6px'; nextBtn.style.background = '#444'; nextBtn.style.color = '#fff'; nextBtn.style.cursor = 'pointer'; nextBtn.onclick = () => { if (currentMonthOffset < 0) { currentMonthOffset++; renderStats(); } };
nav.appendChild(prevBtn); nav.appendChild(nextBtn); box.appendChild(nav);
document.body.appendChild(box); return box; }
async function renderStats() { const box = createBox(); const content = document.getElementById(`${boxId}-content`); content.innerHTML = '📊 Loading monthly data...';
const { from, to, label, y, m } = getDateRange(currentMonthOffset); const boardData = await fetchBoardData(from, to); const meritData = await fetchMeritData(y, m);
if (!boardData) { content.innerHTML = '❌ Error loading posts.'; return; }
let html = `🧮 <b>Statistics for ${label}</b><br><br>`; html += `📝 <b>Posts written:</b> ${boardData.total_results_with_board}<br>`; boardData.boards.forEach(b => { html += `• ${b.name}: ${b.count}<br>`; });
if (!meritData) { html += `<br>⭐ <b>Merits received:</b> Loading error.`; } else { html += `<br>⭐ <b>Merits received:</b> ${meritData.total}<br>`; const sorted = Object.entries(meritData.fromData).sort((a, b) => b[1] - a[1]); sorted.forEach(([name, count]) => { html += `• ${name}: ${count}<br>`; }); }
content.innerHTML = html; }
if (location.href.includes(`u=${uid}`)) { renderStats(); } })(); Basta inserire UserID e UserNAME e lo script si avvia, viene visualizzato soltanto nella nostra pagina profilo https://bitcointalk.org/index.php?action=profile;u=xxxxxA voi le opinioni Grazie in anticipo ☺️ Mini guida su come installare lo script Da Chrome o Firefox: •Installare l'Add-ons/Estensioni Tampermonkey/Greasemonkey/Violentmonkey •Aprire uno di questi Add-ons, quello che avete scelto di istallare e cliccate su "+" oppure su "Nuovo script" •Copiate il codice che trovate in questo thread e incollatelo all'interno del file appena creato su tampermonkey o greasemonkey o violentmonkey •inserite nei campi "username" e "UID" i rispettivi vostri, esempio username= '*Ace' UID = '3685773' e premere su salva •andate sulla vostra pagina profilo di Bitcointalk e premere su summary e si avvia questo script NB questa è la versione 1.0 sto lavorando sulla nuova che sarà autoinstallante
Versione 1.1 autoinstallante https://greasyfork.org/it/scripts/544434-bitcointalk-monthly-stats-merit-tracker-under-tabs-bodyareaQuesta versione è più semplice da installare: •Installare l'Add-ons/Estensioni Tampermonkey/Greasemonkey/Violentmonkey •Andate sul link qui sopra e cliccate su installa script, si aprirà l'estensione che avete scelto, e premere su salva •Andate sulla vostra pagina profilo di Bitcointalk e premere su summary e si avvia questo script •In questa versione potete vedere le statistiche degli altri utenti andando nella loro pagina profilo
|
|
|
|
Lillominato89
Legendary
Offline
Activity: 1134
Merit: 1086
|
Wow ma è fighissimo! Secondo me piacerà molto a tutti e specialmente a fillippone, se magari gli metti a disposizione un tool dove può scrapare le statistiche di tutti con un semplice click ed esportare tutto per poi fare i suoi post meta Non so se è fattibile, io ti butto una idea Quando ho un po' di tempo lo provo anche io
|
|
|
|
*Ace* (OP)
|
 |
July 19, 2025, 01:21:04 PM |
|
Wow ma è fighissimo! Secondo me piacerà molto a tutti e specialmente a fillippone, se magari gli metti a disposizione un tool dove può scrapare le statistiche di tutti con un semplice click ed esportare tutto per poi fare i suoi post meta Non so se è fattibile, io ti butto una idea Quando ho un po' di tempo lo provo anche io
Mi fa piacere che ti sia piaciuto lo script (scusa il gioco di parole) Se puoi provalo e mi fai sapere se riscontri problemi
|
|
|
|
fillippone
Legendary
Online
Activity: 2646
Merit: 18997
Duelbits.com - Rewarding, beyond limits.
|
 |
July 19, 2025, 02:18:37 PM |
|
A me personalmente sarebbe utile sapere quanti post ho scritto da una specifica data, es: il venerdì a mezzanotte, quanti nella sezione internazionale, quanti i in quella italiana. Una altra cosa che controllo spesso è quanti meriti ho ricevuto OGGI.
Ma questo scritto funzionerebbe anche da mobile?
|
|
|
|
*Ace* (OP)
|
 |
July 19, 2025, 02:43:08 PM Merited by fillippone (3) |
|
A me personalmente sarebbe utile sapere quanti post ho scritto da una specifica data, es: il venerdì a mezzanotte, quanti nella sezione internazionale, quanti i in quella italiana. Una altra cosa che controllo spesso è quanti meriti ho ricevuto OGGI.
Ma questo scritto funzionerebbe anche da mobile?
Si può fare! Lo metto in cantiere.. tu dimmi di preciso come deve essere, una data specifica? Una settimana? Tipo da venerdì a giovedì? Tutte le board o esclusivamente solo italiano e internazionale? Dimmi tutte le opzioni che ti serve avere e te lo creo adhoc solo per te Comunque si funziona da mobile, gli screenshot li ho fatti dal mio smartphone
|
|
|
|
fillippone
Legendary
Online
Activity: 2646
Merit: 18997
Duelbits.com - Rewarding, beyond limits.
|
 |
July 19, 2025, 03:16:38 PM |
|
A me personalmente sarebbe utile sapere quanti post ho scritto da una specifica data, es: il venerdì a mezzanotte, quanti nella sezione internazionale, quanti i in quella italiana. Una altra cosa che controllo spesso è quanti meriti ho ricevuto OGGI.
Ma questo scritto funzionerebbe anche da mobile?
Si può fare! Lo metto in cantiere.. tu dimmi di preciso come deve essere, una data specifica? Una settimana? Tipo da venerdì a giovedì? Tutte le board o esclusivamente solo italiano e internazionale? Dimmi tutte le opzioni che ti serve avere e te lo creo adhoc solo per te Comunque si funziona da mobile, gli screenshot li ho fatti dal mio smartphone Beh, dovrebbe essere settabile, tipo uno dei parametri per il dettaglio iniziale: qualcosa tipo: “start of the week” tu metti sabato 0:00 (forse meglio usare utc ovvero il forum time) . Deve contare tutti i messaggi e quelli nella board italiana (e magari quelli nel WO… sarebbe fantastico). Servirebbe a tutti quelli che partecipano ad una campagna firme.
|
|
|
|
*Ace* (OP)
|
 |
July 19, 2025, 10:00:09 PM |
|
A me personalmente sarebbe utile sapere quanti post ho scritto da una specifica data, es: il venerdì a mezzanotte, quanti nella sezione internazionale, quanti i in quella italiana. Una altra cosa che controllo spesso è quanti meriti ho ricevuto OGGI.
Ma questo scritto funzionerebbe anche da mobile?
Si può fare! Lo metto in cantiere.. tu dimmi di preciso come deve essere, una data specifica? Una settimana? Tipo da venerdì a giovedì? Tutte le board o esclusivamente solo italiano e internazionale? Dimmi tutte le opzioni che ti serve avere e te lo creo adhoc solo per te Comunque si funziona da mobile, gli screenshot li ho fatti dal mio smartphone Beh, dovrebbe essere settabile, tipo uno dei parametri per il dettaglio iniziale: qualcosa tipo: “start of the week” tu metti sabato 0:00 (forse meglio usare utc ovvero il forum time) . Deve contare tutti i messaggi e quelli nella board italiana (e magari quelli nel WO… sarebbe fantastico). Servirebbe a tutti quelli che partecipano ad una campagna firme. Ok caro, ho lavorato tutto il pomeriggio per farti questo script, adesso creo un topic per questo tool, lo provi e mi fai sapere
|
|
|
|
fillippone
Legendary
Online
Activity: 2646
Merit: 18997
Duelbits.com - Rewarding, beyond limits.
|
 |
July 22, 2025, 12:28:41 PM |
|
Ok caro, ho lavorato tutto il pomeriggio per farti questo script, adesso creo un topic per questo tool, lo provi e mi fai sapere
Purtroppo al momento il mio setup è mobile only, e per di più IOS. Quindi al momento per me è difficile provare un setup nel quale riesca a caricare l’addome. Confido nella forza della community e sul fatto che qualcuno lo proverà!
|
|
|
|
*Ace* (OP)
|
 |
July 22, 2025, 01:55:29 PM Merited by fillippone (6) |
|
Ok caro, ho lavorato tutto il pomeriggio per farti questo script, adesso creo un topic per questo tool, lo provi e mi fai sapere
Purtroppo al momento il mio setup è mobile only, e per di più IOS. Quindi al momento per me è difficile provare un setup nel quale riesca a caricare l’addome. Confido nella forza della community e sul fatto che qualcuno lo proverà! Nooo! Questa che mi dai è una brutta notizia Io mi sono mazzato per farti lo script come lo volevi tu... C'è una soluzione ma io non l'ho mai provata, installare userscript app ma non usa safari, bensì un browser proprio, puoi provare con questa alternativa
|
|
|
|
Lillominato89
Legendary
Offline
Activity: 1134
Merit: 1086
|
 |
July 22, 2025, 07:34:21 PM |
|
Ok caro, ho lavorato tutto il pomeriggio per farti questo script, adesso creo un topic per questo tool, lo provi e mi fai sapere
Purtroppo al momento il mio setup è mobile only, e per di più IOS. Quindi al momento per me è difficile provare un setup nel quale riesca a caricare l’addome. Confido nella forza della community e sul fatto che qualcuno lo proverà! Si io lo sto usando ed è una figata! Ogni tanto si inceppa ma basta dargli due colpetti e riparte. Ma il fatto di non doversi segnare quanti post ho fatto durante la settimana è tanta ma tanta roba, poi te li suddivide anche e quindi diventa molto utile
|
|
|
|
*Ace* (OP)
|
 |
July 22, 2025, 09:56:44 PM |
|
Ok caro, ho lavorato tutto il pomeriggio per farti questo script, adesso creo un topic per questo tool, lo provi e mi fai sapere
Purtroppo al momento il mio setup è mobile only, e per di più IOS. Quindi al momento per me è difficile provare un setup nel quale riesca a caricare l’addome. Confido nella forza della community e sul fatto che qualcuno lo proverà! Si io lo sto usando ed è una figata! Ogni tanto si inceppa ma basta dargli due colpetti e riparte. Ma il fatto di non doversi segnare quanti post ho fatto durante la settimana è tanta ma tanta roba, poi te li suddivide anche e quindi diventa molto utile Grazie mille per il feedback Se ci sono cose che suggerisci di cambiare, detta pure Io sto mettendo a punto la nuova release 🙂
|
|
|
|
xenomorfo
|
 |
July 31, 2025, 08:33:12 AM |
|
Nooo! Questa che mi dai è una brutta notizia Io mi sono mazzato per farti lo script come lo volevi tu... C'è una soluzione ma io non l'ho mai provata, installare userscript app ma non usa safari, bensì un browser proprio, puoi provare con questa alternativa
Bella questa cosa che hai fatto Ace, posso dire che esteticamente è molto gradevole. Voi cervelloni siete pazzi con tutti questi numeretti, ovviamente sapevo che dietro ci stava l'altro cervellone di fillippone. Bravi tutti e due, lui per le idee e tu per la realizzazione.
|
▄▄█████████████████▄▄ ▄█████████████████████▄ ███▀▀█████▀▀░░▀▀███████ ███▄░░▀▀░░▄▄██▄░░██████ █████░░░████████░░█████ ████▌░▄░░█████▀░░██████ ███▌░▐█▌░░▀▀▀▀░░▄██████ ███░░▌██░░▄░░▄█████████ ███▌░▀▄▀░░█▄░░█████████ ████▄░░░▄███▄░░▀▀█▀▀███ ██████████████▄▄░░░▄███ ▀█████████████████████▀ ▀▀█████████████████▀▀ | Rainbet.com CRYPTO CASINO & SPORTSBOOK | | | █▄█▄█▄███████▄█▄█▄█ ███████████████████ ███████████████████ ███████████████████ █████▀█▀▀▄▄▄▀██████ █████▀▄▀████░██████ █████░██░█▀▄███████ ████▄▀▀▄▄▀███████ █████████▄▀▄███ █████████████████ ███████████████████ ███████████████████ ███████████████████ | | | |
▄█████████▄ █████████ ██ ▄▄█░▄░▄█▄░▄░█▄▄ ▀██░▐█████▌░██▀ ▄█▄░▀▀▀▀▀░▄█▄ ▀▀▀█▄▄░▄▄█▀▀▀ ▀█▀░▀█▀
| 10K WEEKLY RACE | | 100K MONTHLY RACE | | | ██
█████
| ███████▄█ ██████████▄ ████████████▄▄ ████▄███████████▄ ██████████████████▄ ░▄█████████████████▄ ▄███████████████████▄ █████████████████▀████ ██████████▀███████████ ▀█████████████████████ ░████████████████████▀ ░░▀█████████████████▀ ████▀▀██████████▀▀ | ████████ ██████████████ |
|
|
|
*Ace* (OP)
|
 |
July 31, 2025, 11:05:24 AM |
|
Nooo! Questa che mi dai è una brutta notizia Io mi sono mazzato per farti lo script come lo volevi tu... C'è una soluzione ma io non l'ho mai provata, installare userscript app ma non usa safari, bensì un browser proprio, puoi provare con questa alternativa
Bella questa cosa che hai fatto Ace, posso dire che esteticamente è molto gradevole. Voi cervelloni siete pazzi con tutti questi numeretti, ovviamente sapevo che dietro ci stava l'altro cervellone di fillippone. Bravi tutti e due, lui per le idee e tu per la realizzazione. No questo lo avevo pensato solo io e proposto alla community, credo che implementerò altre cose ma più in avanti, per adesso sono in modalità ferie Posso chiederti se lo hai installato? E come ti trovi in tal caso? Ti tornano i conti?
|
|
|
|
*Ace* (OP)
|
Ho apportato una modifica allo script ma ancora non ho pubblicato il codice, volevo sapere se per voi è meglio così oppure lasciarlo per come era prima  •Cambiata posizione nella pagina •Adesso non copre più altre informazioni e si auto adatta la pagina al box •Inserito tasto toggle per chiudere il box •Non c'è bisogno di inserire uid o username, l'userscript ricava in automatico questi dati •Se visitate il profilo di un utente vedrete le sue statistiche •Per vedere le proprie statistiche andate in PROFILE e cliccate su summary Non fare caso a error loading, compare perché non ho inviato e nemmeno ricevuto Merit, poi sistemo che compaia 0 Come sempre chiedo feedback se possibile
|
|
|
|
Lillominato89
Legendary
Offline
Activity: 1134
Merit: 1086
|
 |
August 02, 2025, 07:29:36 PM |
|
Quindi mi stai dicendo che possiamo stalkerizzare fillippone a sua insaputa?? Figo sto aggiornamento Appena ho due minuti di tempo libero installo anche questo! Quella posizione mi piace molto però il tema sinceramente non piace tanto, forse sarebbe meglio se fosse sul chiaro o bianco? Te la butto lì
|
|
|
|
fillippone
Legendary
Online
Activity: 2646
Merit: 18997
Duelbits.com - Rewarding, beyond limits.
|
 |
August 02, 2025, 10:02:35 PM |
|
Scusate, sono tonto io: ma non ho capito dove devo incollare questo script e come faccio a farlo funzionare in chrome. Non riesco ad avviarlo. Devo metterlo su Tampermonkey? Ok, ACE, scrivi un bel "manualetto" passo passo su come installarlo, configurarlo e farlo andare. Sono su Chrome per MacOS.
|
|
|
|
*Ace* (OP)
|
 |
August 03, 2025, 05:06:18 AM Merited by fillippone (3) |
|
Scusate, sono tonto io: ma non ho capito dove devo incollare questo script e come faccio a farlo funzionare in chrome. Non riesco ad avviarlo. Devo metterlo su Tampermonkey? Ok, ACE, scrivi un bel "manualetto" passo passo su come installarlo, configurarlo e farlo andare. Sono su Chrome per MacOS.
Fatto fillippone, ho cercato di essere più preciso possibile ma sono una schiappa a spiegare le cose La trovi nel primo messaggio
|
|
|
|
fillippone
Legendary
Online
Activity: 2646
Merit: 18997
Duelbits.com - Rewarding, beyond limits.
|
 |
August 03, 2025, 05:10:11 AM |
|
Grazie Ace! Quelli che hai spoegato sono esattamente i passaggi che ho fatto, ma non parte. Ho provato a mettere username ed UID tra apici e senza apici, ma non parte. Sto accompagnando i nipoti al centro estivo di sport, stasera quando torno nella tana, ti dico esattamente come lo ho modificato ed i dettagli, e proviano a capire.
|
|
|
|
*Ace* (OP)
|
 |
August 03, 2025, 05:22:44 AM |
|
Grazie Ace! Quelli che hai spoegato sono esattamente i passaggi che ho fatto, ma non parte. Ho provato a mettere username ed UID tra apici e senza apici, ma non parte. Sto accompagnando i nipoti al centro estivo di sport, stasera quando torno nella tana, ti dico esattamente come lo ho modificato ed i dettagli, e proviano a capire.
Strano! Oltre ad andare nella tua pagina profilo hai cliccato su summary?
|
|
|
|
fillippone
Legendary
Online
Activity: 2646
Merit: 18997
Duelbits.com - Rewarding, beyond limits.
|
 |
August 03, 2025, 05:30:29 AM |
|
Grazie Ace! Quelli che hai spoegato sono esattamente i passaggi che ho fatto, ma non parte. Ho provato a mettere username ed UID tra apici e senza apici, ma non parte. Sto accompagnando i nipoti al centro estivo di sport, stasera quando torno nella tana, ti dico esattamente come lo ho modificato ed i dettagli, e proviano a capire.
Strano! Oltre ad andare nella tua pagina profilo hai cliccato su summary? In extremis ti ho fatto un controllo al volo:   Versione 138.0.7204.184 (Build ufficiale) (arm64)  ho provato anche a disinserire le altre estensioni che modificavano la pagina, ma nessun risultato.
|
|
|
|
|