Skip to content
Nerd Bear edited this page Oct 13, 2024 · 3 revisions

Welcome to the CRAC Bot wiki! This wiki provides comprehensive documentation for the CRAC Bot, a versatile Discord bot designed to enhance server management and user interaction.

Quick Navigation


Introduction

CRAC Bot is an all-purpose Discord bot currently in active development. It offers a wide range of features from moderation tools to fun commands, making it a valuable addition to any Discord server.

Key highlights:

  • Comprehensive moderation tools
  • User interaction features
  • Voice channel integration
  • Customizable settings

Back to Home


Features

CRAC Bot offers a variety of features to enhance your Discord server:

  1. Server Moderation

    • Kick users
    • Ban and unban users
    • Timeout users
    • Nickname management
  2. User Interaction

    • Character information lookup
    • Text-to-speech functionality
    • Music playback from YouTube
    • User profile display
  3. Bot Management

    • Customizable bot status
    • Start/shutdown commands
    • Feedback system
  4. Message Handling

    • Logging of message edits and deletions
    • Inappropriate word detection and filtering
  5. Voice Channel Integration

    • Join and leave voice channels
    • Play audio in voice channels
  6. Customization

    • Configurable command prefix
    • Guild-specific settings

Back to Home


Commands

CRAC Bot offers the following commands:

  1. ?help: Displays a help message with all available commands and their usage.
  2. ?kick @user [reason]: Kicks the mentioned user from the server.
  3. ?ban @user [reason]: Bans the mentioned user from the server.
  4. ?unban @user: Unbans the specified user from the server.
  5. ?timeout @user <duration> <unit> [reason]: Timeouts the mentioned user.
  6. ?shutdown: Shuts down the bot.
  7. ?start: Starts the bot if it's offline.
  8. ?charinfo [character]: Provides detailed information about the specified character.
  9. ?tts [message]: Converts the given text to speech and plays it.
  10. ?play [youtube_url]: Plays audio from the specified YouTube video.
  11. ?join: Makes the bot join the user's current voice channel.
  12. ?leave: Makes the bot leave the current voice channel.
  13. ?profile @user: Displays detailed profile information about the mentioned user.
  14. ?nick @user [new_nickname]: Changes the nickname of the mentioned user.
  15. ?feedback [message]: Allows users to submit feedback about the bot.

For detailed usage instructions, see the Commands page.

Back to Home


Installation

To install CRAC Bot, follow these steps:

  1. Clone the repository:

    git clone https://github.com/your-username/crac-bot.git
    
  2. Navigate to the project directory:

    cd crac-bot
    
  3. Install the required dependencies:

    pip install -r requirements.txt
    
  4. Set up your Discord bot token:

    • Create a new application in the Discord Developer Portal
    • Create a bot for your application and copy the bot token
    • Create a config.json file in the project root and add your token
  5. Set up the SQLite database:

    python setup/create_feedback_table.py
    python setup/create_history_table.py
    python setup/create_usage_table.py
    

For more detailed instructions, see the Installation page.

Back to Home


Usage

To use CRAC Bot:

  1. Run the bot:

    python launcher.py
    
  2. Invite the bot to your Discord server:

    • Go to the OAuth2 URL generator in your Discord Developer Portal
    • Select the "bot" scope and the necessary permissions
    • Use the generated URL to invite the bot to your server
  3. Once the bot is in your server, use ?help to see all available commands.

For more information, see the Usage page.

Back to Home


Configuration

CRAC Bot can be configured using the config.json file. Key settings include:

  • Default command prefix
  • Bot version
  • Bot name
  • TTS mode
  • Guild-specific settings

For a detailed explanation of configuration options, see the Configuration page.

Back to Home


Project Structure

The CRAC Bot project is structured as follows:

  • main/bot.py: Main bot file with command implementations and event handlers
  • launcher.py: Entry point for running the bot
  • db_manager/: Database management modules
  • setup/: Database setup scripts
  • temp/audio/: Temporary audio files for TTS feature
  • website/: HTML files for the bot's website

For more details, see the Project Structure page.

Back to Home


Dependencies

CRAC Bot relies on several Python libraries:

  • discord.py
  • Pillow
  • gTTS
  • yt_dlp
  • rich
  • langdetect

For a complete list, see the Dependencies page.

Back to Home


Development

CRAC Bot is under active development with regular updates. Future plans include:

  • Implementing a music queue system
  • Adding more interactive commands
  • Improving error handling
  • Enhancing the configuration system

For more information on the development process and plans, see the Development page.

Back to Home


Contributing

We welcome contributions to CRAC Bot! To contribute:

  1. Fork the repository
  2. Create a new branch for your feature or bug fix
  3. Make your changes and commit them
  4. Push your changes to your fork
  5. Submit a pull request to the main repository

For more details, see the Contributing page.

Back to Home


License

CRAC Bot is licensed under the Apache License 2.0. For the full license text, see the License page.

Back to Home


Support

For support with CRAC Bot:

  1. Open an issue on the GitHub repository
  2. Join our support Discord server (link to be added)
  3. Contact us via email at [email protected]

For more information, see the Support page.

Back to Home


Creator

CRAC Bot is created and maintained by Nerd Bear. For more information about the creator and other projects, visit nerd-bear.org.

Back to Home