discint
v0.5.0
Published
Discord Intent Validation Library
Maintainers
Readme
Discord Intent Validation Library (discint)
A comprehensive TypeScript library for validating and analyzing Discord application intents/flags. Provides detailed analysis, recommendations, and warnings for Discord bot developers.
Features
- ✅ Full TypeScript Support - Complete type definitions with strict typing
- 🔍 Comprehensive Analysis - Detailed breakdown of Discord intents and capabilities
- 🎯 Smart Recommendations - Context-aware suggestions for missing intents
- ⚠️ Warning System - Detect potential issues and conflicts
- 📊 Capability Detection - Understand what your bot can and cannot do
- 🏗️ Modular Architecture - Well-organized codebase with separate concerns
Installation
npm install discint
# or
pnpm add discint
# or
yarn add discintUsage
Basic Usage
import { validateDiscordIntents, formatValidationResponse } from "discint";
// Analyze Discord application flags
const flags = 262144; // GATEWAY_MESSAGE_CONTENT
const analysis = validateDiscordIntents(flags);
console.log(analysis.capabilities.canReadMessageContent); // true
console.log(analysis.intents.active.length); // 1
console.log(analysis.recommendations); // Array of recommendations
// Format for API responses
const formatted = formatValidationResponse(analysis);
console.log(formatted.success); // true
console.log(formatted.validation.completeness); // 10 (10% of available intents)Advanced Usage
import {
validateDiscordIntents,
DISCORD_APPLICATION_FLAGS,
INTENT_CATEGORIES,
type DiscordIntentsAnalysis,
} from "discint";
// Use constants for specific intents
const myFlags =
DISCORD_APPLICATION_FLAGS.GATEWAY_MESSAGE_CONTENT |
DISCORD_APPLICATION_FLAGS.GATEWAY_GUILD_MEMBERS |
DISCORD_APPLICATION_FLAGS.APPLICATION_COMMAND_BADGE;
const result = validateDiscordIntents(myFlags);
if ("error" in result) {
console.error("Validation failed:", result.error);
} else {
// Type-safe access to analysis
const analysis: DiscordIntentsAnalysis = result;
console.log("Privileged intents:", analysis.intents.privileged);
console.log("Bot capabilities:", analysis.capabilities);
console.log("Warnings:", analysis.warnings);
}API Reference
Main Functions
validateDiscordIntents(flags: number): DiscordIntentsResult
Validates Discord application flags and provides comprehensive analysis.
Parameters:
flags- The application flags from Discord API (number)
Returns: DiscordIntentsAnalysis | DiscordIntentsError
formatValidationResponse(analysis: DiscordIntentsResult): FormattedValidationResponse
Formats the validation result for API responses.
Constants
DISCORD_APPLICATION_FLAGS
Object containing all Discord application flag constants with their bit values.
INTENT_CATEGORIES
Object categorizing intents into PRIVILEGED, FUNCTIONAL, and SYSTEM groups.
Types
The library exports comprehensive TypeScript types for all data structures:
DiscordIntentsAnalysis- Complete analysis resultBotCapabilities- What the bot can doRecommendation- Suggestions for improvementWarning- Potential issues detected- And many more...
Project Structure
src/
├── index.ts # Main entry point and exports
├── types.ts # TypeScript type definitions
├── constants.ts # Discord flags and categories
├── validator.ts # Main validation logic
├── formatter.ts # Response formatting
├── capabilities.ts # Capability analysis
├── recommendations.ts # Recommendation generation
├── warnings.ts # Warning detection
└── utils.ts # Utility functionsDevelopment
# Install dependencies
pnpm install
# Build the project
pnpm run build
# Lint and format
pnpm run lint
pnpm run format
# Type check
pnpm run buildLicense
BSL-1.0 - See LICENSE file for details.
Contributing
Contributions are welcome! Please ensure all TypeScript types are properly defined and the code follows the established patterns.
Security
If you discover a security vulnerability, please see SECURITY.md for how to report it.
