Consolidate multiple `ui.TextDisplay` items into single text blocks for `WelcomeMessageView` and `GoodbyeMessageView`. This improves readability and simplifies the UI structure.
Group related member information and server statistics into single
TextDisplay components. This streamlines the UI layout, reduces the
number of elements, and potentially improves rendering efficiency.
Welcome and goodbye messages now use a more detailed LayoutView with sections for member info, server statistics, and dynamic styling.
- Welcome messages display total server members and the new member's account age.
- Goodbye messages show current member count, the leaving member's join date and time in server, with dynamic colors and titles for leave, kick, and ban events.
- All command feedback for welcome/goodbye configuration, testing, and error handling has been updated to use rich Discord Embeds for improved user experience.
Removes the dedicated error handler for the `disable_goodbye` command.
This allows for more centralized or general error handling to take over.
Adds a log message when the WelcomeCog is successfully loaded.
Migrates individual command error handlers to the cog-wide `cog_command_error` method. This simplifies error handling by automatically catching errors from all commands within the cog.
Adds `ephemeral=True` to error messages sent to the user and logs the `original_error` for better debugging.
Integrate `discord.ui.LayoutView` to provide richer, more structured welcome and goodbye messages with user avatars and accent colors.
The `on_member_remove` event now utilizes audit logs to determine if a member was kicked or banned, providing more context in goodbye messages.
Add `testmessage` command group with `welcome` and `goodbye` subcommands to allow administrators to easily test message configurations.
Replace development-time `print` statements with standard `logging` for cleaner output and better debugging.
Refactor the system status view to enhance readability and organization.
- Introduce `_create_aligned_block` helper for consistent, aligned text formatting.
- Consolidate bot, system, and hardware information into new aligned blocks.
- Remove redundant separators and improve overall view structure.
- Adjust progress bar length for better fit.
- Optimize user count gathering using a set for unique users.
- Improve Windows version detection and Linux motherboard info fallback.
Overhauls the output of the `/systemcheck` and `!systemcheck` commands using
Discord UI Components V2 for a more modern and readable display.
- Implemented `ui.LayoutView` for structured information presentation.
- Added progress bars for CPU and RAM utilization for quick visual assessment.
- Standardized display of OS, hardware, and bot statistics.
- Separated data collection from UI rendering logic.
- Added `status` alias for the prefix command.
- Improved error handling for system information retrieval to display 'N/A' on failure.
Migrate `auth`, `deauth`, and `authstatus` commands to subcommands of a new `auth` hybrid command group. This results in commands like `auth login`, `auth logout`, and `auth status`.
This change:
- Improves command organization and discoverability.
- Leverages Discord's built-in help system for command groups, making the custom `authhelp` command redundant.
- Prepares for seamless integration with slash commands by using `commands.hybrid_group`.
Update various success messages and help text related to OAuth. Instead
of broadly stating the bot gains general API access, the language now
specifies that it gains access to "scopes" or "additional OAuth scopes"
as allowed during the authentication flow, providing a more precise
understanding of the permissions granted.
Refactors the system check command to utilize `discord.ui.LayoutView` instead of traditional embeds for presenting system and bot information. This provides a more structured and visually distinct layout for the status output.
Previously, the maximum output tokens for image descriptions was set to 256.
This was often too restrictive, leading to truncated or incomplete descriptions.
Increasing the limit to 1024 allows for more comprehensive and detailed image
descriptions while still encouraging conciseness.