A tracker for the Hack Club Arcade Shop, that keeps track of new items, price updates, and stock depletions
Find a file
2024-07-23 10:41:08 +01:00
src Appease Clippy 2024-07-23 10:41:08 +01:00
.gitignore Get items from Arcade Shop 2024-06-29 13:02:50 +01:00
bun.lockb Add wrangler to devDependencies 2024-07-20 10:02:26 +01:00
Cargo.lock Add real price ratio 2024-07-23 10:39:11 +01:00
Cargo.toml Add real price ratio 2024-07-23 10:39:11 +01:00
LICENSE.md Add license and readme 2024-07-01 20:15:26 +01:00
README.md Add real price ratio 2024-07-23 10:39:11 +01:00
wrangler.toml Fix Slack group ID pings 2024-07-23 10:06:35 +01:00

#arcade-monitor

#arcade-monitor is a monitor for the Hack Club Arcade Shop. It continuously checks for new items, stock changes, and item updates, keeping you in the loop on the stuff you want.

Environment variables

Secrets

  • SLACK_WEBHOOK_URL - Slack webhook to call on updates
  • NTFY_AUTH_TOKEN - Auth token for ntfy

Variables

  • ARCADE_SHOP_URL - Shop URL to fetch
  • NTFY_URL - URL for ntfy
  • SLACK_GROUP_ID - ID of the Slack group to ping

Key-value keys

  • real_prices - stores the real-world prices of items. equivalent to a HashMap<String, i32>, where String is the id parameter. prices are in USD.
  • items - stores old items (you don't need to worry about this one)

Tech Stack

  • Cloudflare Workers for running the monitor on the edge.
  • Rust for the monitor's code. I love its type safety, as well as libraries such as serde.

Fun fact: the monitor was originally written in TypeScript, but it turned out to be so buggy I just rewrote it in Rust. The new version took less time to write, has tests (unlike the TypeScript version), and has better formatted messages.