Gateway for Nexus Discord Bot Builder
npm install nexus-bot-gatewayThe high-performance local gateway for the Nexus Discord Bot Builder. This package connects your local Discord bot instance to your Nexus backend, providing reliable command execution, event forwarding, and advanced music playback capabilities.
- Reliable Music Playback: High-quality audio streaming from YouTube with automatic transcoding.
- Smart Caching: Automatically saves played songs to a local downloads/ directory. Subsequent plays use the cached file to save bandwidth and prevent 429 errors.
- 429-Proof Pipeline: Integrated retry logic with exponential backoff for YouTube data retrieval.
- Modular Architecture: Clean, service-oriented structure for easy maintenance and extension.
- Event Forwarding: Real-time forwarding of Discord messages and interactions to your backend.
- Convex Integration: Native support for Convex-powered backends for state management and logging.
``bash`
npm install -g nexus-bot-gateway
You can run the gateway using the CLI:
`bash`
nexus-gateway
The gateway requires the following environment variables:
- DISCORD_TOKEN: Your Discord Bot Token (can also be managed via backend settings).CONVEX_URL
- : Your Convex deployment URL.NEXUS_USER_ID
- : Your unique Nexus User ID.
You can provide these in a .env file in your project root or directly in your environment.
For advanced users, you can integrate the gateway directly into your own Node.js application:
`javascript
import { NexusGateway } from 'nexus-bot-gateway';
const gateway = new NexusGateway({
convexUrl: process.env.CONVEX_URL,
userId: process.env.NEXUS_USER_ID
});
gateway.start().catch(console.error);
`
The gateway stores audio files in the downloads/ directory. This directory is automatically created on startup. To clear the cache, simply delete the contents of this folder.
- 429 Errors: If you encounter YouTube rate limits, the bot will automatically retry. Ensure your IP is not being heavily throttled by other services.
- FFmpeg: Ensure ffmpeg is available on your system path, though the package includes ffmpeg-static for out-of-the-box support on most systems.Connect
- Voice Issues: Make sure the bot has and Speak` permissions in the voice channels.
MIT