Skip to content

Latest commit

 

History

History
457 lines (321 loc) · 11.5 KB

File metadata and controls

457 lines (321 loc) · 11.5 KB

🤝 Contributing to VAISH Discord Bot

Thank you for your interest in contributing to VAISH! Our bot represents the cutting-edge of open-source Discord bot development, where developers collaborate to create the most advanced, feature-rich bot that remains completely free and community-driven.

🌟 VAISH's Open Source Philosophy

Why We Believe in Open Source Excellence

💰 Financial Freedom & Accessibility

  • Zero Monthly Fees - Stop paying $10-100/month for basic bot features
  • No Hidden Costs - Everything is transparent and completely free
  • No Vendor Lock-in - Your code, your data, your rules
  • Economic Accessibility - Great tools shouldn't be behind paywalls

🔓 Complete Ownership & Control

  • Own Your Infrastructure - Deploy anywhere you want
  • Customize Everything - Modify any feature to fit your community
  • No Feature Limitations - Add whatever functionality you need
  • Full Source Access - Every line of code is yours to study and improve

🛡️ Privacy & Security First

  • Data Sovereignty - You control where your data lives
  • Open Source Audit - Community-reviewed security
  • Zero Data Mining - We don't collect, analyze, or sell your information
  • Transparent Operations - No black box algorithms or hidden processes

🚀 Innovation Through Community Excellence

  • Collective Intelligence - Hundreds of developers building together
  • Rapid Innovation - Features get added faster through collaboration
  • Knowledge Sharing - Learn from other developers' contributions

🎯 Project Goals

Current Mission

  • 100% Free Discord Bot - Feature-rich alternative to paid bots
  • Modern Architecture - Built with latest Discord.js v14 and Node.js
  • Database Integration - Everything stored in MongoDB for persistence
  • AI Integration - Smart responses powered by Google Gemini
  • Beautiful UI - Modern Discord components and embeds

Future Vision

  • 100+ Commands - Comprehensive bot functionality
  • Redis Integration - Ultra-fast caching and real-time features
  • AI Learning - Custom training on server FAQs and user interactions
  • Plugin System - Modular architecture for custom features
  • Web Dashboard - Browser-based configuration interface

🚀 Getting Started

1. Set Up Development Environment

Prerequisites:

  • Node.js v16.0.0 or higher
  • MongoDB (local or cloud)
  • Discord Bot Token
  • Google Gemini API Key
  • Git installed

Setup Steps:

# Fork the repository on GitHub
# Clone your fork
git clone https://github.com/yourusername/advanced-discord-bot.git
cd advanced-discord-bot

# Install dependencies
npm install

# Do the same with server, website, and bot folders
cd server
npm install

cd ../bot
npm install

cd ../website
npm install

# Return to the root directory
cd ..

# Copy environment file (inside the bot folder)
cd bot
cp .env.example .env

# Edit .env with your credentials
# DISCORD_TOKEN=your_bot_token
# CLIENT_ID=your_client_id
# MONGODB_URI=your_mongodb_uri
# GEMINI_API_KEY=your_gemini_key

# Deploy the commands
npm run deploy

# Start the bot
npm run start:bot

2. Development Workflow

Branch Strategy:

# Create feature branch
git checkout -b feature/amazing-new-feature

# Make your changes
# Test thoroughly
# Commit with descriptive messages
git commit -m "Add amazing new feature with comprehensive error handling"

# Push to your fork
git push origin feature/amazing-new-feature

# Create Pull Request on GitHub

📋 Contribution Guidelines

🎯 What We're Looking For

High Priority Contributions:

  • 🐛 Bug Fixes - Stability improvements and error handling
  • New Commands - Fun, utility, or moderation commands
  • 🎨 UI Improvements - Better embed designs and user experience
  • 📚 Documentation - Code comments, README updates, examples
  • 🔧 Performance - Database optimizations, memory efficiency

Medium Priority:

  • 🌐 Internationalization - Multi-language support
  • 📊 Analytics - Better statistics and monitoring
  • 🎮 Games & Fun - Interactive entertainment features
  • 🔒 Security - Enhanced permission systems and validation

Future Focus:

  • 🤖 AI Enhancements - Smarter responses and learning capabilities
  • Redis Integration - Caching and real-time features
  • 🌐 Web Dashboard - Browser-based management interface
  • 🔌 Plugin System - Modular architecture for extensibility

🤝 Contributing

Getting Started

  1. Fork the repository
  2. Clone your fork locally
  3. Create a feature branch (git checkout -b feature/amazing-feature)
  4. Code your improvements
  5. Test thoroughly
  6. Commit with descriptive messages
  7. Push to your branch
  8. Submit a Pull Request

Development Guidelines

  • Code Style: Consistent formatting with Prettier
  • Documentation: Update README for new features
  • Testing: Test all new commands thoroughly
  • Error Handling: Implement robust error handling
  • Database: Follow existing schema patterns

📝 Code Standards

File Structure:

advanced-discord-bot/
├── bot/                -----   discord bot related logic and code
│   ├── commands/
│   ├── events/
│   ├── .env
│   ├── .env.example
│   ├── deploy-commands.js
│   ├── index.js
│   ├── package.json
│   ├── setup.bat
│   └── node_modules/
├── screenshots/        -----   showcase the bot
├── server/             -----   server backend and db logic
│   ├── models/
│   ├── utils/
│   ├── index.js
│   └── package.json
├── website/            -----   website code
│   ├── node_modules/
│   ├── public/
│   ├── src/
│   ├── .gitignore
│   ├── eslint.config.js
│   ├── index.html
│   ├── package.json
│   ├── VAISH video.mp4
│   └── vite.config.js
├── .distignore
├── .gitignore
├── CODE_OF_CONDUCT.md
├── CONTRIBUTING.md
├── DOCUMENTATION.md
├── LICENSE
├── package.json
├── README.md
└── release.zip

Emoji Usage:

  • Use relevant, clear emojis in titles and field names
  • Keep it professional but friendly
  • Maintain consistency across commands

🐛 Bug Reports

How to Report Bugs

Before Reporting:

  1. Check existing issues to avoid duplicates
  2. Test on the latest version
  3. Gather relevant information

Issue Template:

**Bug Description**
Clear description of the bug

**Steps to Reproduce**

1. Run command `/example`
2. Select option "test"
3. See error

**Expected Behavior**
What should happen

**Actual Behavior**
What actually happens

**Environment**

- Node.js version: 18.x.x
- Discord.js version: 14.x.x
- MongoDB version: 6.x.x
- OS: Windows/Linux/macOS

**Additional Context**
Screenshots, logs, or other relevant information

✨ Feature Requests

Suggesting New Features

Feature Request Template:

**Feature Description**
Clear description of the proposed feature

**Use Case**
Why is this feature needed? What problem does it solve?

**Proposed Implementation**
How should this feature work?

**Alternatives Considered**
Other ways to achieve the same goal

**Additional Context**
Mockups, examples, or references

Feature Categories:

  • Commands - New slash commands
  • Moderation - Admin and moderation tools
  • Fun - Entertainment and games
  • Utility - Helpful server management
  • AI - Enhanced AI capabilities
  • Database - Data management improvements

🧪 Testing

Testing Your Changes

Manual Testing:

# Test in development server
npm run deploy
npm run start:bot

# Test all affected commands
# Verify error handling
# Check permissions
# Test edge cases

Testing Checklist:

  • Command executes without errors
  • Proper error handling and user feedback
  • Permissions work correctly
  • Database operations succeed
  • UI displays properly
  • No console errors or warnings

Test Cases to Consider:

  • Valid inputs with expected outputs
  • Invalid inputs with proper error messages
  • Permission edge cases
  • Rate limiting behavior
  • Database connection issues

📚 Documentation

Updating Documentation

When to Update Docs:

  • Adding new commands
  • Changing existing functionality
  • Adding configuration options
  • Modifying setup instructions

Documentation Standards:

  • Clear, concise language
  • Step-by-step instructions
  • Code examples with explanations
  • Screenshots for complex processes
  • Up-to-date information

🏆 Recognition

Contributor Recognition

Ways We Recognize Contributors:

  • README Credits - Listed in acknowledgments
  • Commit Attribution - Your name in git history
  • Discord Role - Special contributor role in our server
  • Early Access - Test new features before release

Contribution Levels:

  • 🥉 Bronze - 1-5 merged PRs
  • 🥈 Silver - 6-15 merged PRs
  • 🥇 Gold - 16+ merged PRs
  • 💎 Diamond - Significant architectural contributions

🤔 Questions & Support

Getting Help

Preferred Communication:

  1. GitHub Issues - For bugs and feature requests
  2. GitHub Discussions - For questions and ideas
  3. Discord Server - For real-time chat and collaboration
  4. Email - For private matters

Response Times:

  • Critical Bugs - Within 24 hours
  • Feature Requests - Within 1 week
  • General Questions - Within 3 days

Mentor Program

New Contributor Support:

  • Guided First PR - Help with your first contribution
  • Code Review - Detailed feedback on submissions
  • Architecture Guidance - Understanding the codebase
  • Best Practices - Learning professional development

💡 Ideas for First Contributions

Beginner-Friendly Tasks

Good First Issues:

  • Fix typos in documentation
  • Add new fun commands (jokes, quotes, etc.)
  • Improve error messages
  • Add command examples to help text
  • Create emoji reactions for commands

Intermediate Tasks:

  • Add new moderation features
  • Implement database optimizations
  • Create interactive button/select menu commands
  • Add configuration options for existing features

Advanced Tasks:

  • Build new major features (AI enhancements, web dashboard)
  • Implement Redis caching
  • Create plugin system architecture
  • Add comprehensive testing suite

🌍 Community Values

Our Commitment

To Contributors:

  • Respect - All contributions are valued
  • Growth - Help developers improve their skills
  • Transparency - Open decision-making process
  • Inclusivity - Welcome developers of all backgrounds
  • Quality - Maintain high standards while being supportive

To Users:

  • Free Forever - No paid features or subscriptions
  • Privacy Focused - Your data belongs to you
  • Community Driven - Features based on real user needs
  • Open Source - Complete transparency and control

🚀 Ready to Contribute?

Your contribution, no matter how small, makes a difference in the open-source community!

🍴 Fork the Repository📋 View Issues💬 Join Discord


"In the spirit of open source: together we build better software, accessible to all."

Thank you for helping make Discord bots free and accessible for everyone! 🎉