aifordiscord-translator
v1.0.2
Published
A Discord bot package for real-time message translation using Google Translate
Maintainers
Readme
aifordiscord-translator ✨🌍🤖
- Advanced Discord Message Translation System
- Version: 1.0.0
- Author: aifordiscord
- License: MIT
📦 Installation
npm install aifordiscord-translator
# or
yarn add aifordiscord-translator🚀 Quick Start
// ES Modules
import AITranslator from 'aifordiscord-translator';
import { TranslatorConfig } from 'aifordiscord-translator/types';
// CommonJS
// const { default: AITranslator, TranslatorConfig } = require('aifordiscord-translator');
const config: TranslatorConfig = {
provider: 'google', // 'google' | 'deepl'
apiKey: process.env.TRANSLATE_API_KEY,
databaseUrl: process.env.MONGODB_URI,
options: {
defaultLanguage: 'en',
cacheTtl: 3600, // 1 hour cache
rateLimit: 100 // 100 req/minute
}
};
const translator = new AITranslator(config);
translator.start(process.env.DISCORD_TOKEN);🔧 Configuration Schema
interface TranslatorConfig {
// Required
provider: 'google' | 'deepl';
apiKey: string;
databaseUrl: string;
// Optional
options?: {
defaultLanguage?: string; // Default: 'en'
cacheTtl?: number; // Cache duration in seconds
rateLimit?: number; // Requests per minute
autoDetect?: boolean; // Auto-detect language
dmSupport?: boolean; // Enable DM translations
hybridMode?: boolean; // Fallback to secondary provider
};
// Advanced
redisUrl?: string; // For distributed caching
sentryDsn?: string; // Error tracking
logLevel?: 'debug' | 'info' | 'warn' | 'error';
}
🎮 Command Reference
Slash Commands
/*
- /set-language
- → Set user's preferred language
- → Options: ISO 639-1 codes (en, es, fr, etc.)
- /set-channel [auto]
- → Configure channel translation
- → auto: boolean (enable/disable auto-translate)
- /translate [message_id] [target_language]
- → Translate specific message
- → Button: "Translate This" added to replies
- /translator-stats
- → Show usage statistics */
🌐 Supported Languages
const SUPPORTED_LANGUAGES = { 'en': 'English', 'es': 'Spanish', 'fr': 'French', 'de': 'German', 'it': 'Italian', 'pt': 'Portuguese', 'ru': 'Russian', 'ja': 'Japanese', 'zh': 'Chinese', 'ar': 'Arabic', // ... 100+ languages supported };
⚡ Advanced Features
// 1. Hybrid Mode (Fallback Providers)
const hybridConfig: TranslatorConfig = {
provider: 'google',
secondaryProvider: 'deepl', // Fallback if primary fails
// ...
};
// 2. Redis Caching
const redisConfig: TranslatorConfig = {
// ...
redisUrl: 'redis://localhost:6379'
};
// 3. Error Tracking
const monitoredConfig: TranslatorConfig = {
// ...
sentryDsn: 'your_sentry_dsn'
};📊 Performance Metrics
Benchmark Results (1000 translations)
┌──────────────┬───────────┬────────────┐
│ Provider │ Avg Speed │ Success % │
├──────────────┼───────────┼────────────┤
│ Google │ 142ms │ 99.8% │
│ DeepL │ 189ms │ 99.5% │
│ Hybrid │ 156ms │ 99.9% │
└──────────────┴───────────┴────────────┘🛠️ Development Setup
git clone https://github.com/aifordiscord/aifordiscord-translator.git cd aifordiscord-translator npm install
Environment Setup
cp .env.example .env
Fill in your API keys
Running
npm run dev # Development mode npm start # Production
🤝 Contributing
/*
- Fork the repository
- Create your feature branch (git checkout -b feature/AmazingFeature)
- Commit your changes (git commit -m 'Add some AmazingFeature')
- Push to the branch (git push origin feature/AmazingFeature)
- Open a Pull Request */
📜 License
MIT © 2023 aifordiscord
