Home - Silver15987/pomo-bot GitHub Wiki

Pomo-Bot Wiki

Table of Contents

  1. Introduction
  2. Getting Started
  3. Features
  4. Commands
  5. Event System
  6. Role Management
  7. Voice Channel Features
  8. Leaderboard System
  9. Admin Guide
  10. Troubleshooting

Introduction

Pomo-Bot is a Discord bot designed to help users manage their time effectively using the Pomodoro technique. It tracks voice channel usage, manages tasks, and provides a competitive element through events and leaderboards.

Getting Started

Prerequisites

  • Node.js (v16 or higher)
  • MongoDB
  • Discord Bot Token
  • Discord Server with appropriate permissions

Installation

  1. Clone the repository
  2. Install dependencies: npm install
  3. Configure environment variables
  4. Start the bot: npm start

Features

Core Features

  • Voice Channel Time Tracking
  • Task Management
  • Event System
  • Role Distribution
  • Leaderboard System

Voice Channel Features

  • Automatic task prompts
  • Time tracking
  • Task completion verification
  • Event-linked statistics

Event System

  • Event window tracking
  • Team-based competitions
  • Event-specific statistics
  • Points calculation

Commands

User Commands

  • /start - Start a new task
  • /stats - View personal statistics
  • /leaderboard - View current leaderboard
  • /help - Display help information

Admin Commands

  • /assignroles - Set up role distribution message
  • /event - Manage event settings
  • /reset - Reset user statistics

Role Management

Team Roles

  • Debuggers
  • First Mates
  • Role distribution through reactions
  • Team-based statistics

Role Distribution

  • Reaction-based role assignment
  • Round-robin role distribution
  • Multiple team support
  • Role tracking

Voice Channel Features

Task Management

  • Automatic task prompts
  • Task completion verification
  • Time tracking
  • Event-linked statistics

Statistics Tracking

  • Total VC hours
  • Event-specific hours
  • Task completion rates
  • Team performance

Leaderboard System

Types of Leaderboards

  • Total hours
  • Event-specific
  • Team-based
  • Task completion

Points Calculation

  • Base points per hour
  • Event multipliers
  • Team bonuses
  • Special achievements

Admin Guide

Configuration

  • Event settings
  • Role management
  • Points system
  • Task prompts

Maintenance

  • Database management
  • User statistics
  • Event tracking
  • System logs

Troubleshooting

Common Issues

  1. Event Hours Not Recording

    • Check event dates in config
    • Verify event status
    • Check user permissions
  2. Role Distribution Issues

    • Verify message tracking
    • Check role permissions
    • Clear reaction cache
  3. Voice Channel Problems

    • Check bot permissions
    • Verify channel settings
    • Check user permissions

Support

  • Discord server link
  • Issue reporting
  • Feature requests
  • Bug reports

Technical Details

Database Structure

  • User statistics
  • Event data
  • Role tracking
  • Task history

API Integration

  • Discord API
  • MongoDB
  • Custom endpoints

Security

  • Role-based access
  • Permission checks
  • Data validation
  • Rate limiting

Future Features

  • Admin configuration panel
  • Advanced event management
  • Enhanced statistics
  • Custom task types
  • Team management tools

Contributing

  • Code guidelines
  • Pull request process
  • Issue reporting
  • Feature requests

License

  • License information
  • Usage terms
  • Attribution requirements