feat(.pre-commit-config.yaml): add pre-commit hooks for yaml, json, toml files and dotenv files for better code quality
feat(justfile): add check-types command to run pyright for type checking
refactor(pyproject.toml): replace aiopath with aiofiles and add types for aiofiles and psutil, adjust pyright settings for strict type checking
fix(Dockerfile): ensure commands are chained properly with && and \ for correct execution
style(Dockerfile): add newline at end of file to adhere to POSIX standards
refactor(dev.py): rearrange error handling methods for better readability and maintainability
refactor(avatar.py): extract common logic into send_avatar method to reduce code duplication
refactor(remindme.py): simplify database access by directly using the reminder table
feat(case.py, note.py, reminder.py): add ensure_guild_exists method to check and create guild if not exists
refactor(case.py, note.py, reminder.py): call ensure_guild_exists before creating a new entry to ensure guild exists
feat(snippet.py): add ensure_guild_exists method to check and create guild if not exists
refactor(snippet.py): modify create_snippet method to call ensure_guild_exists before creating a snippet, ensuring guild existence
chore(.pre-commit-config.yaml): add new pre-commit hooks for trailing commas and gitleaks
refactor(cog_loader.py): improve error logging for cog loading failures
style(.pre-commit-config.yaml, cog_loader.py): apply code formatting rules
style(dev.py, eval.py, git.py, mail.py, random.py): improve code readability by breaking down long lines of code into multiple lines
refactor(eval.py): add trailing comma to logger.warning for better code formatting
refactor(git.py): simplify import statement for Issue from githubkit.versions.latest.models
refactor(mail.py): add line breaks for better readability and code consistency
refactor(random.py): add line breaks in function parameters and conditions for better readability
style(xkcd.py, config.py, export.py): refactor function arguments to multi-line for better readability
style: reformat code for better readability in audit.py, commands.py, gate.py, member.py, run.py, temp_vc.py, tty_roles.py, purge.py
refactor: improve code readability by breaking down complex expressions and function calls into multiple lines
style: reformat code for better readability and PEP8 compliance in multiple files
refactor: simplify list declaration in guide.py for better readability
refactor: improve function parameter formatting in multiple files for better readability
refactor: improve string formatting in multiple files for better readability
refactor: improve function declaration formatting in multiple files for better readability
refactor: improve embed creation in rolecount.py for better readability
style(snippets.py, tldr.py, tools.py, wiki.py): reformat code for better readability
refactor(tools.py): simplify dictionary initialization for encodings and decodings
perf(tldr.py, tools.py): reduce subprocess.run arguments to improve performance
fix(wiki.py): correct the order of error handling and embed creation for better error management
refactor(case.py): improve readability by breaking down long function signatures into multiple lines
style(case.py): add trailing commas to improve code formatting and ease of future changes
style(case.py): improve readability by breaking down long function parameters into multiple lines
refactor(case.py): add trailing commas in dictionary to make future changes cleaner and more readable
style(guild_config.py): refactor function definitions to improve readability and adhere to PEP8 line length standards
style: apply PEP 8 style guide to improve readability and maintainability
refactor: add trailing commas to improve diff readability in future changes
fix(event_handler.py): add missing comma in message string to fix syntax error
style: apply black formatting to improve code readability and maintain consistency across the codebase
chore(pydantic): upgrade pydantic from 2.7.4 to 2.8.0 for better data validation
chore(pydantic-core): upgrade pydantic-core from 2.18.4 to 2.20.0 to match pydantic version
feat(typing-extensions): add python version specific markers for typing-extensions to ensure compatibility
chore: remove pydantic_core-2.18.4 hashes from the project as they are no longer needed
chore: upgrade pydantic_core from 2.18.4 to 2.20.0 for better performance and bug fixes
feat: update pydantic_core to version 2.20.0 for better performance and compatibility
feat: update pydantic_core to version 2.20.0 for better performance and stability
feat(random.py): add hybrid_group for random generation commands to improve command organization
style(random.py): update custom responses in eight_ball function for consistency
fix(random.py): add guild_only decorator to random command group to restrict usage to guild channels
feat(logging): optimize the way 'expires_at' is calculated in 'gate.py'
refactor(member.py): simplify the way fields are added to embed
refactor(message.py): simplify the condition for checking if a message is not a message
chore(auto_respond.py): remove the file as it's no longer needed
This new feature allows users to search the ArchWiki and All Things Linux Wiki directly from the bot, returning the title and URL of the first search result.
style(git.py): shorten long lines to improve readability
feat(xkcd.py): add XkcdLinkButtons class to provide link buttons for xkcd comics
style(neofetch.py, xkcd.py): shorten long lines to improve readability
refactor(xkcd.py): move XkcdLinkButtons class to the top for better organization
refactor(roles.py): rename group to role for better semantics
style(roles.py, run.py, temp_vc.py, tty_roles.py, purge.py, avatar.py, guide.py, info.py, membercount.py): simplify function calls and conditions for better readability
fix(report.py): simplify report submission process, remove webhook creation and deletion
feat(avatar.py): add prefix command for getting member avatar
chore(roles.py, run.py, temp_vc.py, purge.py, avatar.py, membercount.py): remove logger calls to reduce verbosity
style: refactor multiline function calls and conditions to single line for better readability
fix(snippets.py): correct database controller attribute from 'snippets' to 'snippet' to match the correct database table name
feat(admin/dev.py): add new dev.py file to handle developer related commands such as syncing and clearing command trees, and loading, unloading, and reloading cogs for better bot management
chore: remove unused admin cogs (load, reload, sync, unload) from the project to clean up the codebase
style(activities.py, console.py, constants.py, embeds.py, exports.py, functions.py, pagination.py, sentry.py): reformat code to adhere to PEP8 guidelines
feat(functions.py): add harmful command detection and formatting stripping functions for better security and data handling
docs(sentry.py): add docstring to setup_sentry function for better code documentation
feat(error_handler.py): add new ErrorHandler cog to handle bot command errors in a centralized manner
feat(event_handler.py): add new EventHandler cog to handle bot events such as guild join, guild remove, and message
refactor(main.py): improve code readability and organization by reordering and grouping related code blocks
style(cog_loader.py, main.py): remove unnecessary blank lines to adhere to PEP 8 style guide
refactor(schema.prisma): add unique and index constraints to Guild and Reminder models for better data integrity and query performance
refactor(__init__.py): rename controllers to singular form for better semantics
feat(__init__.py): add GuildController and GuildConfigController to DatabaseController for handling guild and guild config related operations
feat(case.py): add CaseController class to handle database operations for cases
This commit introduces a new class, CaseController, in the case.py file. This class provides methods for various database operations related to cases, such as getting all cases, getting a case by its ID, inserting a new case, deleting a case by its ID, updating a case by its number and guild ID, and various methods for getting cases based on different parameters. This class will help in managing the cases in the database in a more structured and efficient way.
feat(database/controllers/guild.py): add GuildController class to manage guild operations
This class includes methods to get, insert, and delete guilds by id.
feat(guild_config.py): add GuildConfigController class to manage guild configurations
This new class provides methods for creating, updating, and retrieving guild configurations. It also ensures that a guild exists before performing operations. This change allows for more efficient and organized management of guild configurations.
feat(database/controllers): add NoteController, ReminderController, SnippetController classes for database operations
- NoteController provides methods for CRUD operations on notes and fetching notes based on various parameters
- ReminderController provides methods for CRUD operations on reminders
- SnippetController provides methods for CRUD operations on snippets and fetching snippets based on various parameters
style(Dockerfile): improve readability by aligning RUN commands
refactor(pyproject.toml): increase line-length limit to 120 and change line-ending to 'lf' for better compatibility
Temp moving moderation and misc files to .archive for cleanup purposes.
Updated `schema.prisma` to use environment variables for production.
Removed redundant user, role, and emoji statistics database models and associated controllers.
Integrated a new `Case` model to consolidate infraction-related data.
Modified reminder, snippet, and note models, and their corresponding controllers to streamline and standardize the database structure.
Removed outdated database seeding commands.