A daily digest of who played, in Discord

It remembers who played and for how long, and posts a summary to Discord once a day, with a page for today so far.

The daily digest as it lands in a Discord channel.
server-activity
Activity digestAPPToday at 09:00
Daily activity
5 players across 2 servers in the last 24 hours.
Emberfell
Up 23h 40m, peak 7
Mira for 4h 10m
Theo for 3h 5m
Juniper for 1h 35m
Sam for 45m
Emberfell Creative
Up 6h 15m, peak 2
Theo for 1h 20m
Rowan for 50m
Hosted on FadeHost ยท Today at 09:00
Plan
Free, without the page
Setup
A webhook and an hour
Token
Read only, made for you
Runtime
Python

What the activity digest does

A record, minute by minute

It asks the FadeHost API who is online once a minute and keeps a small file per day, cleared out after two months.

A digest at your hour

Uptime, peak players and the busiest people on each server, posted to Discord at the hour you pick. It covers the 24 hours before it is sent.

Today so far

A page with today's numbers and who is on right now, worth pinning in your community.

No day skipped, none twice

If it was asleep or redeploying at the digest hour, it sends when it is back, and it never sends the same day twice.

Set it up

  1. 1

    Make a webhook

    In Discord, Edit Channel, Integrations, Webhooks, New Webhook, then Copy Webhook URL.

  2. 2

    Deploy it

    Press Deploy free, pick Activity digest, paste the webhook and choose the hour, in UTC. A read-only FadeHost access token is created for it.

  3. 3

    On the free plan, turn the address off

    Under Settings, Web address. A free app without one stays on, so it records all day and the digest goes out on time. On a paid plan, keep it and you have the page as well.

Routes

/
Today's activity, refreshing itself every two minutes.
/api/today
The same numbers as JSON.
/health
{ ok, polledAt, digestHour, lastDigest } for an uptime check.

Environment variables

They live in the table on the app's page in the panel, values masked once saved. Set for you means the panel fills it in when you deploy.

VariableNeededWhat it is
FADEHOST_TOKENSet for youAn access token with the read scope, created when you deploy.
DISCORD_WEBHOOK_URLOptionalWhere the digest goes.
DIGEST_HOUROptionalThe hour it is sent, 0 to 23 in UTC. 9 unless you set one.
SERVER_IDSOptionalWhich servers to watch, separated by commas. Empty means all of them.
PORTSet for youThe port the page listens on.

Which plan it needs

It has to stay awake to keep its record. On the free plan, turn its web address off and it does. For the page as well, Starter keeps the address awake.

Free

Recommended

$0

No card

  • 256 MB and a quarter of a CPU
  • Always on once the web address is off
  • The daily digest, without the page

Starter

$2/mo

or $20 a year

  • The digest and the page, always awake
  • 1 GB of memory and a full vCPU
  • No traffic limit

Running more than one? Standard carries two bots or apps for $3 a month and Pro four for $6, on one bill with your game servers. Every plan

Frequently asked questions

Which games does it cover?

Every game server on your FadeHost account gets uptime and peak player counts. Player names come from join tracking, which covers Minecraft Java servers today.

Why only five names on a busy server?

The FadeHost API reports the exact player count and names for up to five players at a time. With more than five on at once, the count and the peak stay right and the names are the five the API gave.

What if it was asleep at the digest hour?

It sends the digest when it comes back, covering the 24 hours before, and it never sends the same day twice.

How much does it keep?

A small file per day under /data/history, a few kilobytes for a busy server, cleared out after two months.

Get a daily digest of your servers

Your first app is free, with no card, and gets its own https address.

Deploy free