Join the Agent Deck Discord Server!
Discord에서 Agent Deck 커뮤니티 확인, 357명과 자유 음성·텍스트 채팅 이용
브라우저에서 YEPPBot을 실행하고 Twitch 로그인으로 채널에 추가해 모더레이터·VIP·맞춤 명령·인용·생일을 관리합니다
Run YEPPBot from your browser. Sign in with Twitch to add the bot to your channel, manage moderators, VIPs, custom commands, quotes and birthdays.
소셜TypeScript · C#GitHub @MCmoderSD온라인운영자 미확인
써 보셨어요? 한 번만 눌러 주세요. 로그인은 필요 없어요.
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기Web dashboard for YEPPBot - ASP.NET Core 10 backend + Angular 22 frontend
저장소 README에서 가져옴
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.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.