One-line embedded admin dashboard for your Discord.NET bot.
Local web UI with guild stats, job management, and live logs.
- Overview — guild count, users, uptime, CPU/memory, latency
- Guilds — list all servers with member count, online users, channels
- Jobs — view and cancel scheduled jobs (requires
Discord.Net.Scheduler) - Live Logs — real-time streaming via SignalR, filterable log viewer
- Zero config — runs as
IHostedServicealongside your bot - No external dependencies — pure ASP.NET Core Minimal API + SignalR
dotnet add package Discord.Net.AdminDashboardusing Discord.Net.AdminDashboard.Extensions;
using Discord.Net.Scheduler.Extensions;
var host = Host.CreateDefaultBuilder(args)
.ConfigureServices((ctx, services) =>
{
services.AddSingleton(new DiscordSocketClient(...));
services.AddDiscordScheduler()
.AddJobStore<InMemoryJobStore>();
services.AddAdminDashboard(options =>
{
options.Port = 5000;
});
})
.Build();
await host.RunAsync();
// Dashboard available at http://localhost:5000services.AddAdminDashboard(port: 8080);services.AddAdminDashboard(options =>
{
options.Port = 5000;
options.AccessToken = "my-secret"; // optional auth
});| Route | Page |
|---|---|
/ |
Overview dashboard with stats cards |
/guilds.html |
List of guilds with member counts |
/jobs.html |
Scheduled jobs table with cancel action |
/logs.html |
Live log stream via SignalR |
| Method | Route | Description |
|---|---|---|
| GET | /api/stats |
Bot statistics |
| GET | /api/guilds |
Guild list |
| GET | /api/jobs |
Scheduled jobs |
| POST | /api/jobs/{id}/cancel |
Cancel a job |
- .NET 8.0+
- Discord.NET 3.20.1+
Discord.Net.Scheduler1.0.0+ (for job management features)
This package depends on:
Discord.Net.WebSocket(3.20.1) — for accessingDiscordSocketClientDiscord.Net.Scheduler(1.0.0) — forIJobStoreandJobScheduler
(screenshots coming soon)
