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.
Mira for 4h 10m
Theo for 3h 5m
Juniper for 1h 35m
Sam for 45m
Theo for 1h 20m
Rowan for 50m
- 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
Make a webhook
In Discord, Edit Channel, Integrations, Webhooks, New Webhook, then Copy Webhook URL.
- 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
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.
| Variable | Needed | What it is |
|---|---|---|
| FADEHOST_TOKEN | Set for you | An access token with the read scope, created when you deploy. |
| DISCORD_WEBHOOK_URL | Optional | Where the digest goes. |
| DIGEST_HOUR | Optional | The hour it is sent, 0 to 23 in UTC. 9 unless you set one. |
| SERVER_IDS | Optional | Which servers to watch, separated by commas. Empty means all of them. |
| PORT | Set for you | The 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.
More apps to start from
Bringing your own code instead? How an app deploys from GitHub
Get a daily digest of your servers
Your first app is free, with no card, and gets its own https address.