Channel statistics tool
Publish public activity statistics for your channel - talkers, busiest hours, words and links - the way pisg and mIRC Stats do, but kept up to date automatically.
You run this small program on your own machine. It reads the IRC logs you already keep, counts everything locally, and sends only the daily totals to erkstats. Your message text never leaves your computer.
No builds are published yet. Check back shortly.
What you need first
A statistics token for your channel. It ties the numbers you send to your channel and nothing else. If you run erkstats you can create one in the admin panel; otherwise email [email protected] and we'll issue one - you'll need to be an operator (+o) of the channel.
Using it
Open a terminal (on Windows, Command Prompt or PowerShell) in the folder you downloaded it to. First, post all of your history once:
erkstats-chanstats -mode backfill \
-logs "/path/to/your/logs" \
-tz "Australia/Brisbane" \
-url "https://erkstats.info" \
-token YOUR_CHANNEL_TOKEN
Add -dry-run (and leave off -url/-token) to preview the day-by-day counts without sending anything. On macOS and Linux you may first need chmod +x erkstats-chanstats.
Logs are read as mIRC's own format by default. If you use the BoredIRC script (its own (nick) text echo logs), add -format boredirc.
Got a channel's logs spread across several files (say one per server)? Pass them together and they merge into one history: -logs "logs/#chan.*.log", or comma-separate the paths. Do it in one run.
Then keep it current - this re-reads your logs and posts today's totals on a loop:
erkstats-chanstats -mode live -interval 15m \
-logs "/path/to/your/logs" \
-tz "Australia/Brisbane" \
-url "https://erkstats.info" \
-token YOUR_CHANNEL_TOKEN
Re-sending a day is always safe: the server replaces that day's totals, so nothing is ever double-counted. Leave it running under whatever keeps a program alive on your machine (systemd, a Scheduled Task, screen/tmux, ...).
No logs? Run it as a bot
If you'd rather not deal with log files, the same program can connect to IRC itself, sit in your channels and gather the stats live - across several networks at once. Put your networks and channels in a small config file and run:
erkstats-chanstats -mode bot -config bot.ini
Each network gets its own block with its own nick/auth/timezone, and you list #channel = token under it. A sample bot.sample.ini ships alongside the tool; add -dry-run to connect and watch without posting.
What gets sent
Only per-day totals: message and event counts, the busiest hour, your top talkers, the words and link domains that came up most, and one short sample line per top nick. Raw logs, hostmasks and private messages are never sent.