herald

A multi-server Discord bot and dashboard for YouTube upload notifications.

TypeScriptReactExpressSQLiteDiscord.jsWebSub

Project overview

Herald lets each Discord server manage watched YouTube channels, a destination channel and a message template. WebSub delivers push notifications while an independent RSS poller keeps checking feeds. Shared source subscriptions, delivery history and per-watch deduplication help prevent missed or repeated announcements.

What it does

Server-specific settings

  • Channel subscriptions and message templates
  • Discord OAuth and Manage Server permissions

Reliable delivery

  • WebSub push plus independent RSS polling
  • Deduplication and no back-catalogue flood

Visible status

  • Subscription, poll and delivery timestamps
  • One container serves the API and React dashboard

Inside the project

Screenshots captured locally with fictional servers and subscriptions.

Technologies & implementation

Technology stack

  • TypeScript · Node.js · Express
  • React · Vite
  • Discord.js · Discord OAuth
  • SQLite / better-sqlite3
  • YouTube WebSub · RSS
  • Docker