Skip to content

vibecodingatvt/VibeCoding_VTBot

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🎮 Vibe Coding Club Discord Bot

A feature-rich Discord bot designed for coding communities, study groups, and collaborative learning environments.


✨ Features

👋 Onboarding & Community

  • 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

📅 Events & Scheduling

  • Event Creation - Create and manage community events
  • RSVP System - Members can join/leave events
  • Event Listings - View upcoming events
  • Reminders - Automatic event reminders

💻 Code Sharing

  • 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

📚 Study Tools

  • 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

🎉 Fun & Engagement

  • Trivia - Programming trivia questions
  • 8-Ball - Magic 8-ball responses
  • Random Facts - Interesting coding facts
  • Coin Flip - Random decision maker

🛡️ Moderation

  • Warning System - Issue and track warnings
  • Mute/Unmute - Temporary muting with duration
  • Kick/Ban - Remove problematic users
  • Reputation - Track user reputation points

⚙️ Administration

  • Bot Sync - Sync slash commands to server
  • Role Management - Configure assignable roles per server
  • Reaction Roles - Set up reaction-based role assignment

📦 Requirements

  • Python 3.10+
  • discord.py 2.0+
  • aiosqlite

🚀 Quick Start

1. Clone the Repository

git clone https://github.com/yourusername/vibe-discord-bot.git
cd vibe-discord-bot

2. Create Virtual Environment

python3 -m venv venv
source venv/bin/activate  # On Windows: venv\Scripts\activate

3. Install Dependencies

pip install -r requirements.txt

4. Configure the Bot

Create a `.env` file:

DISCORD_TOKEN=your_bot_token_here

Or edit `config.py` directly:

TOKEN = "your_bot_token_here"

5. Run the Bot

python bot.py

Or use the start script:

chmod +x start.sh
./start.sh

📋 Command Reference

👋 Onboarding

Command Description
`/help` Interactive help menu with all commands
`/roles` View and assign available roles
`/rules` Display server rules

📅 Events

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)

💻 Code Sharing

Command Description
`/snippet` Share a code snippet
`/mysnippets` View your saved snippets
`/searchsnippets` Search snippets by keyword

📚 Study Tools

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

🎉 Fun

Command Description
`/trivia` Programming trivia question
`/8ball` Ask the magic 8-ball
`/fact` Random coding fact
`/coinflip` Flip a coin

🛡️ Moderation

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

⚙️ Admin (Administrator Only)

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

🗄️ Database

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

🔐 Required Permissions

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)

Required Intents

Enable these in the Discord Developer Portal:

  • Server Members Intent
  • Message Content Intent

📁 Project Structure

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

🐛 Troubleshooting

Bot doesn't respond to commands

  1. Check that the bot has proper permissions
  2. Verify Message Content Intent is enabled in Developer Portal
  3. Run `/sync` to manually sync commands
  4. Check console for error messages

Database errors

  1. Ensure the bot has write permissions in its directory
  2. Try deleting `vibe_bot.db` to recreate (loses data)

Import errors

  1. Ensure you've activated your virtual environment
  2. Run `pip install -r requirements.txt` again
  3. Check Python version (3.10+)

🤝 Contributing

  1. Fork the repository
  2. Create a feature branch (`git checkout -b feature/amazing-feature`)
  3. Commit your changes (`git commit -m 'Add amazing feature'`)
  4. Push to the branch (`git push origin feature/amazing-feature`)
  5. Open a Pull Request

📄 License

MIT License - feel free to use and modify for your community!


Made with ❤️ for coding communities

About

Bot for the Vibe Coding @ VT Discord Server

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors