A feature-rich Discord bot designed for coding communities, study groups, and collaborative learning environments.
- Welcome System - Automatic welcome messages for new members
- Role Assignment - Server-specific self-assignable roles via
/roles - Rules Display - Quick access to server rules
- Interactive Help - Dropdown menu with command categories
- Event Creation - Create and manage community events
- RSVP System - Members can join/leave events
- Event Listings - View upcoming events
- Reminders - Automatic event reminders
- Syntax Highlighting - Share code snippets with proper formatting
- Multiple Languages - Support for Python, JavaScript, Java, C++, and more
- Snippet Library - Save and retrieve code snippets
- Search - Find snippets by keyword or language
- Daily Challenges - Programming challenges with hints and solutions
- Flashcards - Create and review study flashcards
- Pomodoro Timer - Productivity timer with work/break cycles
- Focus Sessions - Distraction-free focus timers
- Custom Timers - Set personal countdown timers
- Trivia - Programming trivia questions
- 8-Ball - Magic 8-ball responses
- Random Facts - Interesting coding facts
- Coin Flip - Random decision maker
- Warning System - Issue and track warnings
- Mute/Unmute - Temporary muting with duration
- Kick/Ban - Remove problematic users
- Reputation - Track user reputation points
- Bot Sync - Sync slash commands to server
- Role Management - Configure assignable roles per server
- Reaction Roles - Set up reaction-based role assignment
- Python 3.10+
- discord.py 2.0+
- aiosqlite
git clone https://github.com/yourusername/vibe-discord-bot.git
cd vibe-discord-botpython3 -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activatepip install -r requirements.txtCreate a `.env` file:
DISCORD_TOKEN=your_bot_token_hereOr edit `config.py` directly:
TOKEN = "your_bot_token_here"python bot.pyOr use the start script:
chmod +x start.sh
./start.sh| Command | Description |
|---|---|
| `/help` | Interactive help menu with all commands |
| `/roles` | View and assign available roles |
| `/rules` | Display server rules |
| Command | Description |
|---|---|
| `/create_event` | Create a new event |
| `/events` | List upcoming events |
| `/join_event` | RSVP to an event |
| `/leave_event` | Cancel RSVP |
| `/delete_event` | Delete an event (creator/admin) |
| Command | Description |
|---|---|
| `/snippet` | Share a code snippet |
| `/mysnippets` | View your saved snippets |
| `/searchsnippets` | Search snippets by keyword |
| Command | Description |
|---|---|
| `/challenge` | Get daily coding challenge |
| `/hint` | Get hint for a challenge |
| `/solution` | View challenge solution |
| `/complete` | Mark challenge complete |
| `/flashcard` | Create a flashcard |
| `/review` | Review your flashcards |
| `/pomodoro` | Start pomodoro session (25min work/5min break) |
| `/focus` | Start focus session |
| `/timer` | Set a custom timer |
| `/activetimers` | View all active timers in server |
| Command | Description |
|---|---|
| `/trivia` | Programming trivia question |
| `/8ball` | Ask the magic 8-ball |
| `/fact` | Random coding fact |
| `/coinflip` | Flip a coin |
| Command | Description |
|---|---|
| `/warn` | Warn a user |
| `/warnings` | View user's warnings |
| `/clearwarnings` | Clear user's warnings |
| `/mute` | Mute a user |
| `/unmute` | Unmute a user |
| `/kick` | Kick a user |
| `/ban` | Ban a user |
| `/rep` | Give reputation point |
| Command | Description |
|---|---|
| `/sync` | Sync slash commands to server |
| `/setroles` | Set assignable roles for server |
| `/listroles` | View configured assignable roles |
| `/removerole` | Remove a role from assignable list |
| `/setup_reaction_role` | Create reaction role message |
The bot uses SQLite (`vibe_bot.db`) with the following tables:
| Table | Description |
|---|---|
| `users` | User data and statistics |
| `events` | Server events |
| `snippets` | Code snippets |
| `warnings` | Moderation warnings |
| `reputation_log` | Reputation tracking |
| `daily_challenges` | Challenge completions |
| `reaction_roles` | Reaction role configurations |
| `assignable_roles` | Server-specific assignable roles |
The bot requires these Discord permissions:
- Send Messages
- Embed Links
- Add Reactions
- Manage Messages (for moderation)
- Manage Roles (for role assignment)
- Kick/Ban Members (for moderation)
Enable these in the Discord Developer Portal:
- Server Members Intent
- Message Content Intent
vibe-discord-bot/
├── bot.py # Main entry point
├── config.py # Configuration settings
├── requirements.txt # Python dependencies
├── start.sh # Startup script
├── .env # Environment variables (create this)
├── .gitignore # Git ignore rules
└── cogs/
├── admin.py # Admin commands
├── code_sharing.py # Code snippet features
├── events.py # Event management
├── fun.py # Fun commands
├── moderation.py # Moderation tools
├── onboarding.py # Welcome & help
├── reaction_roles.py # Reaction roles
├── study_tools.py # Study features
└── utilities.py # Timers & utilities
- Check that the bot has proper permissions
- Verify Message Content Intent is enabled in Developer Portal
- Run `/sync` to manually sync commands
- Check console for error messages
- Ensure the bot has write permissions in its directory
- Try deleting `vibe_bot.db` to recreate (loses data)
- Ensure you've activated your virtual environment
- Run `pip install -r requirements.txt` again
- Check Python version (3.10+)
- Fork the repository
- Create a feature branch (`git checkout -b feature/amazing-feature`)
- Commit your changes (`git commit -m 'Add amazing feature'`)
- Push to the branch (`git push origin feature/amazing-feature`)
- Open a Pull Request
MIT License - feel free to use and modify for your community!
Made with ❤️ for coding communities