
Product
Introducing Reports: An Extensible Reporting Framework for Socket Data
Explore exportable charts for vulnerabilities, dependencies, and usage with Reports, Socket’s new extensible reporting framework.
An enterprise-grade monitoring and management solution for Discord.js bots, with modular features and multi-webhook support.
Dis-Warden is a comprehensive, enterprise-grade monitoring and management solution for your Discord.js bot. With a fully modular design, you can toggle features on or off and direct notifications to different webhooks, giving you complete control over your bot's operational intelligence.
Keep a watchful eye on your bot's stability, resource consumption, and guild interactions with beautiful, real-time notifications delivered exactly where you want them. 📨
uncaughtException and unhandledRejection events. Can be toggled and sent to a specific errors channel.Install Dis-Warden using your preferred package manager:
npm install dis-warden
# or
yarn add dis-warden
# or
pnpm add dis-warden
For a simple setup, provide a global webhookUrl that all enabled features will use.
const { Client, GatewayIntentBits } = require('discord.js');
const Warden = require('dis-warden');
const client = new Client({
intents: [ /* ... your intents ... */ ]
});
const warden = new Warden(client, {
// A single webhook for all notifications
webhookUrl: 'YOUR_GLOBAL_DISCORD_WEBHOOK_URL',
// You can still disable features you don't need
resourceMonitoring: {
enabled: false
}
});
// Activate all enabled monitoring services
warden.watch();
client.login('YOUR_DISCORD_BOT_TOKEN');
Assign a unique webhook to each feature for granular notification routing. If a feature's webhookUrl is not set, it will fall back to the global webhookUrl.
const warden = new Warden(client, {
// Global fallback webhook (optional if all features have their own)
webhookUrl: 'YOUR_FALLBACK_WEBHOOK_URL',
// --- Send errors to the #errors channel ---
errorLogging: {
enabled: true,
webhookUrl: 'YOUR_ERRORS_WEBHOOK_URL'
},
// --- Send status updates to the #status channel ---
statusMonitoring: {
enabled: true,
webhookUrl: 'YOUR_STATUS_WEBHOOK_URL',
onlineMessage: '✅ **Bot is Online** - All systems operational.'
},
// --- Send resource alerts to the #performance channel ---
resourceMonitoring: {
enabled: true,
webhookUrl: 'YOUR_PERFORMANCE_WEBHOOK_URL',
pollingInterval: 60000, // Check every 60 seconds
thresholds: { cpu: 80, memory: 85, latency: 500 }
},
// --- Send guild join/leave logs to the #guild-logs channel ---
guildTracking: {
enabled: true,
webhookUrl: 'YOUR_GUILD_LOGS_WEBHOOK_URL'
},
// --- Disable performance management ---
performanceManagement: {
analytics: false,
rateLimiter: {
enabled: false
}
}
});
// Activate all the features configured above
warden.watch();
client.login('YOUR_DISCORD_BOT_TOKEN');
Manually logged errors will be sent to the webhook defined in the errorLogging configuration block.
client.on('interactionCreate', async (interaction) => {
if (!interaction.isCommand()) return;
try {
// Some risky operation
} catch (error) {
// This will go to your errorLogging.webhookUrl
warden.logError(error, { title: 'Custom error title' });
// ...
}
});
new Warden(client, options)Creates a new Warden instance.
client (Client): Your discord.js client instance.options (Object): The configuration object.
webhookUrl (String): Optional. A global fallback webhook URL.errorLogging (Object):
enabled (Boolean): Default true.webhookUrl (String): Specific webhook for errors.statusMonitoring (Object):
enabled (Boolean): Default true.webhookUrl (String): Specific webhook for status.resourceMonitoring (Object):
enabled (Boolean): Default true.webhookUrl (String): Specific webhook for alerts.guildTracking (Object):
enabled (Boolean): Default true.webhookUrl (String): Specific webhook for guild logs.warden.watch()Activates all monitoring services where enabled: true.
warden.logError(error, [options])Manually logs an error. It will use the webhook specified in errorLogging.
Contributions are welcome! Feel free to submit issues or pull requests to improve Dis-Warden.
This project is licensed under the MIT License.
FAQs
An enterprise-grade monitoring and management solution for Discord.js bots, with modular features and multi-webhook support.
The npm package dis-warden receives a total of 3 weekly downloads. As such, dis-warden popularity was classified as not popular.
We found that dis-warden demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Product
Explore exportable charts for vulnerabilities, dependencies, and usage with Reports, Socket’s new extensible reporting framework.

Product
Socket for Jira lets teams turn alerts into Jira tickets with manual creation, automated ticketing rules, and two-way sync.

Company News
Socket won two 2026 Reppy Awards from RepVue, ranking in the top 5% of all sales orgs. AE Alexandra Lister shares what it's like to grow a sales career here.