Bitcoin Forum
April 20, 2026, 10:14:43 AM *
News: Latest Bitcoin Core release: 30.2 [Torrent]
 
  Home Help Search Login Register More  
  Show Posts
Pages: [1]
1  Other / Meta / [TOOL] ⭐Bitcointalk BRDb score on: January 13, 2026, 12:17:35 PM







Hello everyone. I opened this thread to present a tool I created experimentally, hoping everyone would find it useful.

This forum often discusses the quality of posts, but it is a somewhat subjective topic — there is no single metric to determine with certainty whether a post is high quality or not. I created this tool to give users a measurable score that reflects their contribution quality and consistency over time.

How it works

The tool is made up of two parts:

  • A Cloudflare Worker backend that scrapes and stores data for all indexed users, recalculating scores every 24 hours
  • A Tampermonkey userscript that displays BRDb scores directly on Bitcointalk profile pages

Data is sourced from Bitlist.co (thanks TryNinja) and from the Bitcointalk forum itself.

The fields used are: total posts, merit earned (excluding 2017 airdrops), posts and merit in the last 120 days, account registration date, last active date, and membership status.

The Formula

Code:
— Core Ratios —

Q_hist = merit_total / max(posts_total, 1)
  Historical merit-per-post ratio. Grows slowly, rewards long-term consistency.

Q_120 = merit_120 / posts_120      if posts_120 > 0
Q_120 = 0                           otherwise
  Recent merit-per-post ratio (last 120 days).
  Zero if the user has not posted recently.

— Modifiers —

Age_factor = min( log(age_days + 1) / log(3650), 1 )
  Logarithmic age factor. Reaches maximum after ~10 years.

Activity_factor = min( active_days_120 / 60, 1 )
  Based on days active in the last 120 days (not just post count).

Consistency_score = active_days_120 / 120
  Fraction of days active in the last 120 days.

— Reputation Score (displayed) —

Reputation = (
    0.45 * Q_hist * Age_factor
  + 0.30 * Q_120 * Activity_factor
  + 0.15 * Q_hist
  + 0.10 * Consistency_score * Q_hist
) * merit_rate_multiplier * status_modifier

merit_rate_multiplier = recent_merit_rate / historical_merit_rate
  (capped between 0.5 and 3.0 — rewards improving users)

status_modifier:
  Legendary    → 1.30
  Sr. Member   → 1.15
  Full Member  → 1.05
  Member/below → 1.00
  Banned       → 0.00

— Reliability Score —

rel_volume  = min( log(posts_total + 1) / log(10000), 1 )
rel_age     = min( log(age_days + 1) / log(3650), 1 )
Reliability = (rel_volume * 0.5 + rel_age * 0.5)

— BRDb Score (final, displayed as ⭐0–10) —

BRDb = log(1 + Reputation * Reliability) * scaling_factor
  Logarithmic compression to a 0–10 scale.
  Promising boost applied to new accounts with strong recent merit.

Code:
— Key Variables —

merit_total       Total merit earned (Bitlist data, excludes 2017 airdrops)
posts_total       Total posts written
merit_120         Merit received in the last 120 days
posts_120         Posts written in the last 120 days
active_days_120   Number of distinct days active in the last 120 days
age_days          Account age in days from registration date

Additional Metrics

Beyond the BRDb Score, the profile page also shows:

  • Reputation — the weighted quality score described above
  • Reliability — account maturity and posting volume
  • Trust Score — weighted average of senders' BRDb scores (who gave you merit matters)
  • Impact — combined measure of merit volume and quality
  • Merit Sender / Receiver rank — global ranking by merit sent and received
  • Community Award badge — awarded to winners of the Bitcointalk Community Awards (valid 1 year)

Userscript

The Tampermonkey script adds a BRDb row directly to any Bitcointalk profile page, showing the score, status, rank, and a link to the full profile. It also displays Community Award titles when applicable.

Download from Greasy Fork

Full Profile Page

Each user has a dedicated profile at:
Code:
https://brdbscoreapi.ace-d89.workers.dev/profile/[UID]

For example: TryNinja's BRDb Profile

Profiles include BRDb Score, Reputation, Reliability, Trust Score, rank badges, merit badges, activity charts, merit statistics, and top senders/receivers.

Screenshots

(Updated screenshots coming soon)

Thank you to everyone who has tried the tool and provided feedback. Suggestions and criticism are always welcome.
2  Local / Italiano (Italian) / [Archivio] Statistiche mensili della community italiana di Bitcointalk on: December 06, 2025, 07:54:44 PM
[ARCHIVIO] Statistiche Mensili – Board Italiana Bitcointalk


  • 2025 — Post: 9166 (-17.39% vs 2024) | Media Meriti/Post: 0.86 | Report

  • Gennaio 2026 – Post: 443  (-14,81% vs Dicembre 2025)| Media Merit/Post: 1.39 | Report

  • Dicembre 2025 – Post: 520 (-16,26% vs Novembre) | Media Merit/Post 1.10 |Report
  • Novembre 2025 – Post: 621 (-7.86% vs Ottobre) | Media Merit/Post: 1.05 | Report
  • Ottobre 2025 – Post: 674 (-12% vs Settembre) | Media Merit/Post: 0.61 | Report
3  Local / Guide (Italiano) / [TOOL] BBCode Table Generator + Image Uploader on: September 14, 2025, 08:45:47 AM
[TOOL] BBCode Table Generator + Image Uploader

Ciao a tutti
Amici della community italiana, da un paio di giorni ho creato un altro tool molto utile, l'idea mi è venuta perché ho visto un utente che lo aveva creato ma su una pagina web e ho deciso di replicarla come tool da usare direttamente su Bitcointalk.
ho realizzato uno script che semplifica la creazione di tabelle in BBCode e l’upload rapido di immagini direttamente online. 



🔹 Funzionalità principali 
- Generatore di tabelle in BBCode: basta inserire righe e colonne, lo script crea automaticamente il codice pronto da copiare. 
- Uploader di immagini: puoi caricare un’immagine e ottenere subito il link formattato in BBCode. 
- Interfaccia semplice e veloce, pensata per chi posta spesso contenuti con formattazioni complesse. 
- Salvataggio dei modelli di tabelle create e ricaricabili quando servono tramite i tasti predisposti



Lo script è disponibile qui 👉 Greasyfork – BBCode Table Generator + Image Uploader 

Feedback, suggerimenti e miglioramenti sono sempre ben accetti!






Vi allego un esempio di tabella che è possibile ricreare con il tool con semplici click

MatchBetOdds
PSV vs Union S. Gilloise1@1.82
Benfica vs Qarabag1@1.2
Tottenham vs Villareal1@1.88
Total odds@4.10
4  Local / Off-Topic (Italiano) / [GUIDA] Intelligenza Artificiale – Discussione casi d'uso ed esempi on: September 12, 2025, 08:53:41 AM
Salve a tutti amici, visto che nel thread Meta di fillippone se ne è parlato ho deciso di aprire questo argomento in questa sezione della nostra board. Non so se in offtopic si addice di più o magari era meglio in guide, in tal caso chiedo al moderatore della board di spostare questo thread.

Intanto ringrazio babo per avermi dato l'idea di redigere questo thread, apprezzerei che anche lui partecipasse con esempi in questo thread, so che lui è davvero forte in ambito informatico, io sono solo un novellino in confronto a lui.

Ok adesso bando alle ciance e partiamo con qualche piccolo esempio, premetto che non tutte le ai che vengono citate le ho utilizzate personalmente, ma ho fatto ricerche prima di scrivere questo post.

1. Creazione di immagini e avatar
Vuoi un’immagine personalizzata per il tuo profilo o un avatar unico?
Con le IA generative puoi farlo in pochi minuti:

Vai su siti come Stable Diffusion, Leonardo.ai, DALL·E o Bing Image Creator.

Scrivi un prompt (una descrizione) di quello che vuoi ottenere.
Esempio:
Quote
"Un avatar in stile cyberpunk con sfondo futuristico, colori viola e blu neon"




L’IA genererà una o più immagini pronte da usare.

Puoi rifinire il prompt per ottenere risultati sempre più precisi.


Tip: alcuni tool ti permettono anche di caricare una foto e trasformarla in un disegno/cartoon/avatar.


2. Coding con l’aiuto dell’IA
Le IA non sostituiscono i programmatori, ma sono ottime assistenti:

Puoi chiedere di scrivere uno script base in un linguaggio a tua scelta.
Esempio:
Quote
"Scrivimi uno script in Python che calcoli la media dei numeri in una lista"

Ed ecco cosa ti restituisce il tuo assistente



Puoi usare l’IA per debug e spiegazioni: incolli il tuo codice e chiedi cosa non funziona.

Puoi generare snippet riutilizzabili (es. funzioni per API, bot di Telegram, piccoli tool).


Tip: strumenti come ChatGPT, GitHub Copilot o Codeium sono tra i più usati.
Io per questo esempio ho usato Le Chat Mistral


3. Altri usi quotidiani dell’IA

Scrittura veloce di post, articoli o email.

Traduzione e semplificazione di testi tecnici. "attenzione però qui! Sul forum i post scritti da o con aiuto delle AI non sono ben visti e potreste beccarvi un ban o essere esclusi dai cm"

Creazione di riassunti, schemi o idee per nuovi progetti.


Obiettivo del thread
Questo topic serve per:

aiutare chi non ha mai usato IA a fare i primi passi,

condividere esempi pratici e link a tool utili,

rispondere alle domande dei curiosi.


Invito: se hai già sperimentato con l’IA, condividi i tuoi prompt, risultati e consigli!
Adesso la parola passa a voi, fate domande e postate pure qualche esempio di utilizzo, oppure se volete possiamo approfondire un argomento in particolare



5  Other / Meta / [TOOL] Bitcointalk Weekly Post & Merit Tracker on: August 31, 2025, 10:56:17 PM
[TOOL] Bitcointalk Weekly Post & Merit Tracker – Monitor Your Posts, Merits, and Signature Campaigns!


Other Language
By User
🇭🇷 Croatianpaco92x🇵🇭 Filipinasfullfitlarry
🇳🇬 Naija pidginYeesha🇮🇹 Italiano*Ace*




Hello, Bitcointalk community!
Today, I present a small project I initially created for personal use, but I’m happy to share it with the entire community. I’ve been working on this tool for almost a month, and after several tests, I believe it’s ready for everyone to use. I’d like to publicly thank Ninjastic (API by TryNinja) and BPIP.org for providing the necessary data.

Bitcointalk Weekly Post & Merit Tracker.


This script helps you monitor your posts, received merits, weekly goals, and signature campaign progress in a simple and immediate way, directly from the Bitcointalk page. It’s perfect for those who want to improve post quality, avoid spam, and achieve personalized goals.

The tool is written in JavaScript and the full source code is available at the link above. It is released under the MIT License, so anyone can download, use, and modify it freely. If you want to propose improvements or work on updates, you are welcome to do so and share your work with the community, in the spirit of open source that distinguishes Bitcoin and Bitcointalk.


What Does This Script Do?
  • Weekly Post Monitoring
    • Valid Post Count: View the number of posts made in the current week (or previous/next weeks).
    • Breakdown by Board: See how many posts you’ve made in each Bitcointalk section.
    • Unclassified Posts: Identify posts not associated with any specific board.
  • Merit Tracking
    • Total Merits: View the total number of merits received in the week.
    • Sender Details: Find out who gave you merits and how many.
  • Signature Campaign Tracking
    • Posts in Dedicated Boards: Track your posts in signature campaign boards to ensure you meet the requirements.
  • Custom Goals
    • Minimum Gambling Posts: Set a minimum goal for posts in Gambling boards.
    • Maximum Local Board Posts: Limit the number of posts in local boards.
    • Maximum Valid Posts: Set a maximum limit for valid posts per week.
    • Exclude Boards: Exclude boards you’re not interested in from the count (e.g., Offtopic, Games & Rounds, Mega Threads, Services). Excluded boards will be marked with a ⛔️ emoji to indicate that posts there won’t be counted.
  • Flexible Settings
    • Custom Week Start: Choose the day the week starts (e.g., Monday, Friday, etc.).
    • Time Zone: Set the time zone to adjust the count to your location.
    • Merit Display: Enable or disable the display of received merits.
  • Intuitive Interface
    • Fixed Panel: The script adds a fixed panel at the bottom right, always accessible.
    • Week Navigation: Navigate between previous and next weeks using the ⏪ and ⏩ buttons.
    • Minimize Panel: Click ➖ to minimize the panel and save space.

Data Sources
Post and board data are fetched from Ninjastic (API by TryNinja), while merit data are fetched from BPIP.org. No data is sent to external servers: everything is processed locally in your browser.


How to Install and Configure
On Desktop (Chrome, Firefox, Edge, etc.)
  • Install a Userscript Manager:
  • Install the Script:
    • Click here to go to the GreasyFork page.
    • Click the "Install this script" button.
    • The userscript manager will ask for confirmation: click "Install".
  • Configure Your Username:
    • Open the Userscript Manager (ViolentMonkey/Greasemonkey/Tampermonkey).
    • Find the script "Bitcointalk Weekly Post & Merit Tracker" and click "Edit".
    • Find the line:
Code:
const usernames = ['insertYourUsername', 'insertYourUsername'];
  • Replace `'insertYourUsername'` with your Bitcointalk username (in quotes).
    • Example for a single username:
    Code:
    const usernames = ['*ace*'];
  • Example for multiple usernames:
    Code:
    const usernames = ['*ace*', 'AltUsername'];
    • Save the changes and refresh Bitcointalk.
    On Smartphone (Android/iOS)
    • Install a Browser that Supports Userscripts:
    • Install ViolentMonkey/Greasemonkey:
    • Install the Script:
      • Open the GreasyFork link in your browser.
      • Click "Install this script" and confirm.
    • Configure Your Username:
      • Follow the same steps as for Desktop (edit the line)
      Code:
      const usernames = [...]
      .

    How to Use It?
    • Select the User: From the dropdown menu in the panel, choose the username you want to monitor.
    • Set Your Goals: Click the ⚙️ icon to open settings and customize:
      • Minimum Gambling posts.
      • Maximum Local Board posts.
      • Maximum Valid Posts per week.
      • Boards to exclude (they will be marked with ⛔️).
      • Week start day.
      • Time zone.
    • Navigate Between Weeks: Use the ⏪ and ⏩ buttons to view data from previous or next weeks.
    • Minimize the Panel: Click ➖ to minimize the panel.

    FAQ (Frequently Asked Questions)
    • How do I modify the code if I’m not experienced?
      • Install the script as described above.
      • Open the Userscript Manager (ViolentMonkey/Greasemonkey).
      • Find the line
      Code:
      const usernames = ['insertYourUsername', 'insertYourUsername'];
        .
      • Delete `'insertYourUsername'` and insert your username in quotes.
      • Save and refresh Bitcointalk.
    • Can I monitor multiple users?
      Yes! Just add more usernames to the
      Code:
      usernames
      array:
      Code:
      const usernames = ['*ace*', 'MyAccount', 'AnotherUsername'];
      • Does the script send my data to external servers?
        No, all data is processed locally in your browser. The script does not send information to any server.
      • How do I report a bug or suggest a new feature?
        You can reply to this post or leave a comment on the GreasyFork page.
      • Can I contribute to the project?
        Absolutely! The script is open source under the MIT License. You can freely download, modify, and share your improvements with the community. Contributions are welcome!

      Important Notes
      • The script doesn’t work if Bitcointalk is blocked by ad-blockers or privacy extensions.
      • If you have issues loading data, make sure you are connected to the internet and there are no errors in the browser console (press F12 to open it).

      Feedback and Support
      If you have questions, suggestions, or bug reports, don’t hesitate to reply to this post! I’m always available to improve the script based on the community’s needs. Let’s keep the open source spirit alive!



      VersionDate
      V.1.9.908-09-2025
    6  Local / Guide (Italiano) / [tool] Bitcointalk theme mobile v.1.2.2 on: August 16, 2025, 06:34:15 AM
    Come ormai ben sapete, ne ho parlato sul thread Meta di fillippone.
    Ho creato un custom theme per Bitcointalk.
    Per poterlo usare avrete bisogno di istallare sul vostro browser mobile l'estensione violentmonkey o greasemonkey
    Per il momento ho potuto utilizzarlo solo su kiwi browser (progetto ormai chiuso) e Firefox nightly

    Per installare il tema basta seguire questi due semplici step

    1 installare violentmonkey o greasemonkey cercandolo su Mozilla Add-ons
    2 installare il tema direttamente da questo link https://greasyfork.org/it/scripts/545941-bitcointalk-mobile-enhancer

    Appena aprite Bitcointalk la vostra visualizzazione sarà questa qui





    7  Local / Guide (Italiano) / [Tool] Bitcointalk Weekly post and merit tracker v.2.2 on: July 19, 2025, 10:12:17 PM
    Bitcointalk Weekly Post & Merit Tracker – Monitora i tuoi Post, Merit


    Altre Lingue
    Tradotto da
    🇭🇷 Croatopaco92x
    🇳🇬 Pidgin NigerianoYeesha
    🇵🇭 Filipinofullfitlarry


    Ciao, comunità di Bitcointalk!
    Oggi vi presento un piccolo progetto che ho inizialmente creato per uso personale, ma che sono felice di condividere con tutta la comunità. Sto lavorando a questo strumento da quasi un mese e, dopo diversi test, credo sia pronto per essere utilizzato da tutti. Vorrei ringraziare pubblicamente Ninjastic (API di TryNinja) e BPIP.org per aver fornito i dati necessari.

    Bitcointalk Weekly Post & Merit Tracker.


    Questo script ti aiuta a monitorare i tuoi post, i merit ricevuti, gli obiettivi settimanali e lo stato delle campagne firma in modo semplice e immediato, direttamente dalla pagina di Bitcointalk. È perfetto per chi vuole migliorare la qualità dei post, evitare lo spam e raggiungere obiettivi personalizzati.

    Lo strumento è scritto in JavaScript e il codice sorgente completo è disponibile al link sopra. È rilasciato sotto licenza MIT, quindi chiunque può scaricarlo, utilizzarlo e modificarlo liberamente. Se vuoi proporre miglioramenti o lavorare su aggiornamenti, sei il benvenuto a farlo e condividere il tuo lavoro con la comunità, nello spirito open source che distingue Bitcoin e Bitcointalk.


    Cosa fa questo script?
    • Monitoraggio settimanale dei post
      • Conteggio dei post validi: Visualizza il numero di post effettuati nella settimana corrente (o nelle settimane precedenti/successive).
      • Suddivisione per sezione: Vedi quanti post hai fatto in ogni sezione di Bitcointalk.
      • Post non classificati: Identifica i post non associati a nessuna sezione specifica.
    • Tracciamento dei merit
      • Merit totali: Visualizza il numero totale di merit ricevuti nella settimana.
      • Dettagli del mittente: Scopri chi ti ha dato i merit e quanti.
    • Monitoraggio campagne firma
      • Post nelle sezioni dedicate: Tieni traccia dei tuoi post nelle sezioni delle campagne firma per assicurarti di soddisfare i requisiti.
    • Obiettivi personalizzati
      • Post minimi in Gambling: Imposta un obiettivo minimo per i post nelle sezioni Gambling.
      • Post massimi nelle sezioni locali: Limita il numero di post nelle sezioni locali.
      • Post validi massimi: Imposta un limite massimo per i post validi a settimana.
      • Esclusione sezioni: Escludi le sezioni che non ti interessano dal conteggio (es. Offtopic, Games & Rounds, Mega Threads, Servizi). Le sezioni escluse saranno contrassegnate con l’emoji ⛔️ per indicare che i post lì non verranno contati.
    • Impostazioni flessibili
      • Inizio settimana personalizzato: Scegli il giorno di inizio della settimana (es. lunedì, venerdì, ecc.).
      • Fuso orario: Imposta il fuso orario per adattare il conteggio alla tua posizione.
      • Visualizzazione merit: Abilita o disabilita la visualizzazione dei merit ricevuti.
    • Interfaccia intuitiva
      • Pannello fisso: Lo script aggiunge un pannello fisso in basso a destra, sempre accessibile.
      • Navigazione tra settimane: Naviga tra le settimane precedenti e successive usando i pulsanti ⏪ e ⏩.
      • Minimizza pannello: Clicca su ➖ per minimizzare il pannello e risparmiare spazio.

    Fonti dei dati
    I dati sui post e sulle sezioni vengono recuperati da Ninjastic (API di TryNinja), mentre i dati sui merit vengono recuperati da BPIP.org. Nessun dato viene inviato a server esterni: tutto viene elaborato localmente nel tuo browser.


    Come installare e configurare
    Su Desktop (Chrome, Firefox, Edge, ecc.)
    • Installa un gestore di userscript:
    • Installa lo script:
      • Clicca qui per andare alla pagina di GreasyFork.
      • Clicca sul pulsante "Installa questo script".
      • Il gestore di userscript chiederà conferma: clicca "Installa".
    • Configura il tuo username:
      • Apri il gestore di userscript (ViolentMonkey/Greasemonkey/Tampermonkey).
      • Trova lo script "Bitcointalk Weekly Post & Merit Tracker" e clicca "Modifica".
      • Trova la riga:
    Code:
    const usernames = ['insertYourUsername', 'insertYourUsername'];
    • Sostituisci `'insertYourUsername'` con il tuo username di Bitcointalk (tra virgolette).
      • Esempio per un singolo username:
      Code:
      const usernames = ['*ace*'];
    • Esempio per più username:
      Code:
      const usernames = ['*ace*', 'AltroUsername'];
      • Salva le modifiche e aggiorna Bitcointalk.
      Su Smartphone (Android/iOS)
      • Installa un browser che supporti gli userscript:
      • Installa ViolentMonkey/Greasemonkey:
      • Installa lo script:
        • Apri il link GreasyFork nel tuo browser.
        • Clicca "Installa questo script" e conferma.
      • Configura il tuo username:
        • Segui gli stessi passaggi del Desktop (modifica la riga)
        Code:
        const usernames = [...]
        .

      Come si usa?
      • Seleziona l’utente: Dal menu a tendina nel pannello, scegli lo username che vuoi monitorare.
      • Imposta i tuoi obiettivi: Clicca sull’icona ⚙️ per aprire le impostazioni e personalizzare:
        • Post minimi in Gambling.
        • Post massimi nelle sezioni locali.
        • Post validi massimi a settimana.
        • Sezioni da escludere (verranno contrassegnate con ⛔️).
        • Giorno di inizio della settimana.
        • Fuso orario.
      • Naviga tra le settimane: Usa i pulsanti ⏪ e ⏩ per visualizzare i dati delle settimane precedenti o successive.
      • Minimizza il pannello: Clicca su ➖ per minimizzare il pannello.

      FAQ (Domande Frequenti)
      • Come modifico il codice se non sono esperto?
        • Installa lo script come descritto sopra.
        • Apri il gestore di userscript (ViolentMonkey/Greasemonkey).
        • Trova la riga
        Code:
        const usernames = ['insertYourUsername', 'insertYourUsername'];
          .
        • Elimina `'insertYourUsername'` e inserisci il tuo username tra virgolette.
        • Salva e aggiorna Bitcointalk.
      • Posso monitorare più utenti?
        Sì! Basta aggiungere più username all’array
        Code:
        usernames
        :
        Code:
        const usernames = ['*ace*', 'IlMioAccount', 'AltroUsername'];
        • Lo script invia i miei dati a server esterni?
          No, tutti i dati vengono elaborati localmente nel tuo browser. Lo script non invia informazioni a nessun server.
        • Come segnalare un bug o suggerire una nuova funzionalità?
          Puoi rispondere a questo post o lasciare un commento sulla pagina GreasyFork.
        • Posso contribuire al progetto?
          Assolutamente sì! Lo script è open source sotto licenza MIT. Puoi scaricarlo, modificarlo e condividere liberamente i tuoi miglioramenti con la comunità. I contributi sono benvenuti!

        Note importanti
        • Lo script non funziona se Bitcointalk è bloccato da ad-blocker o estensioni per la privacy.
        • Se hai problemi nel caricamento dei dati, assicurati di essere connesso a internet e che non ci siano errori nella console del browser (premi F12 per aprirla).

        Feedback e supporto
        Se hai domande, suggerimenti o segnalazioni di bug, non esitare a rispondere a questo post! Sono sempre disponibile a migliorare lo script in base alle esigenze della comunità. Manteniamo vivo lo spirito open source!



        VersioneData
        V.1.9.908-09-2025
      8  Local / Guide (Italiano) / [Tool] Btctalk monthly stats v1.0 on: July 18, 2025, 01:13:17 PM
      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

      Code:
      // ==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=xxxxx

      A 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-bodyarea

      Questa 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


      9  Local / Italiano (Italian) / Cosa ne farai dei tuoi bitcoin una volta che diventerai anziano? on: July 04, 2025, 07:39:00 PM
      Ciao ragazzi, questa notte mi è venuto in mente questo pensiero, a volte penso seriamente al futuro, cosa farò o cosa non farò da più grande, se mettere su famiglia o meno, ma nella mia mente ieri sera sono andato anche oltre, pensare già al dopo pensione, ci sto pensando con più di 45 anni di anticipo ahaha
      a parte gli scherzi, voi avete mai pensato a cosa farne dei btc accumulati nel tempo appena sarete anziani?
      li utilizzerete come un surplus della pensione? utilizzerete soltanto i btc? li darete in beneficenza o magari come eredità ai figli?
      li utilizzerete per fare investimenti ancora?
      sono curioso di sapere le vostre idee, io ancora non lo so, anche perchè ne detengo davvero poco per dire con certezza cosa potrò farci

      forza con le idee ragazzi, che ho 40 anni di tempo per pensarci sopra!!  Grin

      Pages: [1]
      Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!