Run YEPPBot from your browser. Sign in with Twitch to add the bot to your channel, manage moderators, VIPs, custom commands, quotes and birthdays.
SocialTypeScript · C#GitHub @MCmoderSDOnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
No updates detected yet. GitHub releases will appear here.
Owners of public repositories under a personal GitHub account can sign in to verify ownership and manage the introduction themselves. No administrator approval is needed.
Sign in, generate a verification file, and commit it to this repository’s default branch within 30 minutes. Files on other branches or forks do not count. Then check the file below to manage the project without administrator approval. Keep the file to retain your access.
If needed, you will go to sign-in. After signing in, return here and press your chosen verification button again.
Run /nomorevibe verify in your project folder to verify ownership and manage the introduction yourself.
Verify in one minuteAsk about other verification options
Web dashboard for YEPPBot - ASP.NET Core 10 backend + Angular 22 frontend
Translation pending
Taken from the repository README
Loading the full README. The saved excerpt is shown below.
Web dashboard for YEPPBot — a monolithic Twitch chat bot with no interactive console of its own. YEPPDash lets broadcasters control YEPPBot from a browser instead of only via Twitch chat commands, without weakening the bot's security posture: end users never talk to the bot directly, only to this dashboard's backend.Read the full README ↗Web dashboard for YEPPBot — a monolithic Twitch chat bot with no interactive console of its own. YEPPDash lets broadcasters control YEPPBot from a browser instead of only via Twitch chat commands, without weakening the bot's security posture: end users never talk to the bot directly, only to this dashboard's backend.
Status: early beta, actively developed. Twitch login, moderator/VIP/editor management, letting the bot join/leave your channel, custom commands, quote management, follower birthdays, BDSM test results, auto-shoutouts for raiders, a channel point reward that buys a timeout, and two OBS overlays (a lucky wheel and a subathon timer) are live. The UI, and the feature set, are still changing.
!queue commands are not in YEPPBot yet, so nothing can join it today)| Backend | ASP.NET Core 10 (C#), MVC Controllers, Dapper + MySqlConnector, ClosedXML |
| Frontend | Angular 22 + Angular Material, SSR (@angular/ssr + Express) |
| Auth | Twitch OAuth2 (authorization code) + Helix /users — no local passwords/user table |
| Database | One MariaDB for both environments, split by schema: YEPPBot owns and migrates helix (YEPPBot-Dev in development), YEPPDash owns YEPPDash (YEPPDash-Dev) |
| Twitch events | EventSub over WebSocket, one connection per broadcaster — every EventSub limit is counted per client id and user id together |
| Live updates | Server-Sent Events, one in-process hub per feature — assumes a single backend instance, which docker-compose.yaml runs |
| Reverse proxy | Caddy, run by the operator outside this repo — subdomain routing (dash.yeppbot.com/.dev → frontend, api.yeppbot.com/.dev → backend) |
YEPPDash/
├── backend/ # ASP.NET Core 10 Web API (Rider project)
├── frontend/ # Angular 22 + Material SSR app (WebStorm project)
├── docs/ # API client docs
├── docker-compose.yaml # local dev only: backend + frontend, ports published directly, no reverse proxy
└── .env.example # template for the gitignored .env (DB connection strings)
Reverse proxying (Caddy) is not part of this repo — it's handled by the operator's separate, existing Caddy setup, which routes dash.yeppbot.com/.dev to the frontend and api.yeppbot.com/.dev to the backend.
backend/ and frontend/ are independent IDE project roots (Rider / WebStorm respectively) inside this one repository.
docs/twitch-api-client.md — endpoints and features of the two Twitch API wrappers (Helix + OAuth)docs/yeppbot-api-client.md — the HTTP client YEPPDash uses to talk to a running YEPPBot instance (join/leave a channel, reload custom commands)docs/subathon-timer.md — the table the subathon timer shares with YEPPBot: the statements each chat command is, and what either side must not touchdocs/queue.md — the same for the queue: why the waiting list is one text column, and which half owns which commanddocs/giveaway.md — how a channel point redemption becomes a weighted slice: why the reward filter runs before the shared redemption log, and why the overlay stream never sees the entrantsActions that change how the running bot behaves — join/leave a channel, reload custom commands — go through a small HTTP API on YEPPBot itself rather than being written into its state behind its back; see docs/yeppbot-api-client.md for the contract. That keeps YEPPBot's inputs to "its own HTTP API" and "the Twitch API," matching its existing security model.
The subathon timer and the queue are the exceptions, and deliberately so: both sides write the same row of one shared table, with no call in either direction. There is nothing to reload — the row is the state, and the bot reads it when it answers a command. docs/subathon-timer.md and docs/queue.md are the contracts that keep those halves in step.
BSD 3-Clause — see LICENSE.