# VibeBot > VibeBot is a free Discord bot and web dashboard that plays audio clips automatically in voice channels. It supports per-member entrance sounds, scheduled playback, a shared server audio library, YouTube audio extraction, and AI TTS generation. ## What it does VibeBot listens for voice channel events on Discord and plays a pre-configured audio clip when a trigger condition is met. There are two trigger types: - **Member trigger**: plays a specific sound whenever a designated member joins a selected voice channel. - **Schedule trigger**: plays a sound automatically at a configured time on selected days of the week, in a selected voice channel. Audio can come from uploaded files (MP3, WAV, M4A, OGG, WEBM), YouTube extraction, built-in presets, or AI-generated TTS created from the web dashboard. All audio and configuration are stored as Discord attachments in a private `#vibebot-config` channel — no external database is required. ## Key Features - **Per-member entrance sounds**: assign a unique audio clip to any Discord server member; it plays every time they join a configured voice channel - **Scheduled playback**: play sounds automatically at specified times on selected days (with per-trigger timezone support) - **Audio library**: a shared server library of uploaded and extracted audio files reusable across triggers - **YouTube extraction**: paste a YouTube URL and the audio is extracted and saved to the server library (up to 10 MB / ~10 minutes) - **AI TTS**: generate speech audio from text directly in the web dashboard - **Built-in presets**: several ready-to-use sound effects (Clang, Pop, Alert, Yay, Aaaah) - **Audio trim**: set exact start and end points for playback (minimum 1.1 s) - **Volume control**: 10% to 100% per trigger - **Cooldown**: 30 seconds to 5 minutes between plays per trigger to prevent spam - **Web dashboard**: fine-tune all settings visually at https://vibebot.noahive.com/ - **No database**: all data lives inside your Discord server as message attachments ## Supported languages The web dashboard supports English, Korean (한국어), Japanese (日本語), and Simplified Chinese (中文). ## Discord Slash Commands | Command | Who can use | Description | |---|---|---| | `/sound` | All members | Set your own entrance sound for a voice channel | | `/manage` | Admins (Manage Server) | Set an entrance sound for a specific member | | `/scheduler` | Admins (Manage Server) | Schedule a sound to play automatically in a voice channel | | `/upload youtube` | All members | Extract audio from a YouTube URL into the server library | | `/upload file` | All members | Upload an audio file into the server library | | `/status` | All members | View all configured sounds with play preview buttons | | `/remove` | Member (own) / Admin (all) | Delete a configured sound | | `/dashboard` | All members | Open the web dashboard | | `/help` | All members | Show all available commands | ## Frequently Asked Questions **Q: Is VibeBot free?** A: Yes, VibeBot is completely free to use. **Q: Where is my data stored?** A: All trigger configurations and audio files are stored as Discord message attachments in a private `#vibebot-config` channel inside your own Discord server. VibeBot does not maintain an external database. **Q: What audio formats are supported?** A: MP3, WAV, M4A, OGG, OPUS, WEBM, AAC, FLAC — up to 10 MB per file. **Q: Can I use YouTube audio?** A: Yes. Use `/upload youtube ` in Discord or paste a URL in the web dashboard. The audio is extracted server-side and stored as a Discord attachment (max 10 MB / ~10 minutes). **Q: Can I schedule sounds to play at a specific time?** A: Yes. Use `/scheduler` to set a sound, voice channel, time (any HH:MM), days of the week, and timezone. The bot joins the channel and plays the sound at the configured time. **Q: Do I need admin permission to use VibeBot?** A: Regular members can set their own entrance sound with `/sound` and upload audio with `/upload`. Admin-level features (`/manage`, `/scheduler`) require the Manage Server permission. **Q: What permissions does VibeBot need?** A: View Channels, Send Messages & Attach Files, Read Message History, Connect, Speak, Manage Channels, Manage Roles. **Q: How do I add VibeBot to my Discord server?** A: Visit https://vibebot.noahive.com/, log in with Discord, select your server, and click "+ Add bot to server". You need the Manage Server permission on that server. **Q: Can I set different entrance sounds for different members?** A: Yes. Each member can have their own entrance sound assigned to a specific voice channel. Use `/sound` to set your own, or `/manage` (admin only) to set a sound for any member. **Q: Can I set different entrance sounds for different voice channels?** A: Yes. Each trigger is bound to a specific voice channel. You can create multiple triggers for the same member across different channels, each with a different sound. **Q: Does VibeBot stay in the voice channel after playing?** A: No. VibeBot joins only to play the sound and leaves automatically once playback finishes. **Q: How many triggers can I set?** A: There is no hard limit. You can configure entrance sounds for all members and add multiple scheduled triggers per server. **Q: What is the difference between VibeBot and Discord's built-in soundboard?** A: Discord's soundboard requires a member to manually trigger a sound. VibeBot automatically plays a sound when a member joins a voice channel or at a scheduled time — no manual action required. **Q: Can I trim audio clips?** A: Yes. The web dashboard lets you set exact start and end points. Minimum clip length is 1.1 seconds. ## How to get started 1. Visit https://vibebot.noahive.com/ and log in with Discord. 2. Select a server where you have the Manage Server permission. 3. Click **+ Add bot to server** if the bot is not yet in the server. 4. Use `/sound` in Discord to set your entrance sound in two steps: pick a voice channel, then pick a sound. 5. Or use the web dashboard to add triggers, trim audio, adjust volume, and configure schedules. ## Technical notes - Bot is built with discord.js v14 on Bun runtime. - Web dashboard is a React SPA served via Bun.serve(). - API layer uses Elysia v1.4. - Bot ↔ API communication uses an internal HTTP endpoint with a shared secret. - Auth: Discord OAuth2 with AES-GCM encrypted session cookie. - Config storage: JSON pinned to a `#vibebot-config` Discord text channel per guild. ## Links - Dashboard: https://vibebot.noahive.com/ - Terms of Service: https://vibebot.noahive.com/terms - Privacy Policy: https://vibebot.noahive.com/privacy