feat(random.py, xkcd.py): add 'guild_only' decorator to restrict commands to guild channels
refactor(random.py): remove command descriptions from decorators for cleaner code
refactor(xkcd.py): replace 'app_commands' with 'commands' for command group and add 'guild_only' decorator
feat(xkcd.py): add aliases for 'xkcd' command group and its subcommands for easier access
refactor(xkcd.py): replace 'interaction' with 'ctx' in command functions for consistency with other commands
feat(xkcd.py): add 'specific' command to get a specific xkcd comic by its ID
refactor(eval.py): add alias "e" to eval command for quicker access
refactor(git.py): remove create_issue_comment command, add aliases to existing commands for better usability
refactor(mail.py): add TODO comment for future refactoring, move command description to docstring for better readability
feat(tools.py): add new tools.py file to provide various tool commands
refactor(tldr.py): remove redundant docstring, rename tldr function to slash_tldr
feat(tldr.py): add prefix_tldr function to support prefix command for TLDR pages
refactor(wiki.py): remove unused import 'app_commands' from discord
style(wiki.py): remove explicit command descriptions for 'arch' and 'atl' commands for cleaner code
docs(wiki.py): simplify function docstrings for 'arch_wiki' and 'atl_wiki' methods for better readability
style(info.py): remove unnecessary line breaks and reorganize code for better readability
fix(info.py): check for guild existence before using it to prevent potential errors
feat(info.py): add bot count to server info command for more detailed server information
feat(avatar.py): add guild_only decorator to restrict command usage to guilds only
style(avatar.py): improve function and parameter descriptions for better understanding
fix(avatar.py): replace profile_avatar with global_avatar for accurate representation
refactor(schema.prisma): reorder CaseType enum values for better readability
fix(schema.prisma): rename TIMEOUT_ADD and TIMEOUT_REMOVE to TIMEOUT and UNTIMEOUT for better semantics
chore(main.py): comment out unused imports and variables to clean up code
fix(main.py): remove activity_changer as it's no longer used
style(main.py): add logger.info statements for better logging
refactor(main.py): simplify prefix and token assignment
refactor(main.py): replace bot.shutdown() with bot.close() for clarity
chore(main.py): comment out console related code as it's not used currently
fix(functions.py): remove unused import Callable
refactor(functions.py): remove redundant second_test in is_harmful function
feat(functions.py): add return type hints to datetime_to_unix and datetime_to_elapsed_time functions
chore(functions.py): remove unused functions to improve code maintainability
fix(cog_loader.py): remove conditional cog_ignore_list based on DEV constant, use a single COG_IGNORE_LIST for simplicity
style(cog_loader.py): rename variables for clarity, apath to path, and filepath to path
feat(constants.py): add TOKEN, PREFIX, COG_IGNORE_LIST constants to handle environment specific variables for better code maintainability
style(constants.py): remove unused UNICODE and EMOJIS constants to clean up the code
fix(settings.json): update EMBED_COLORS and EMBED_ICONS values to reflect the latest design changes
This commit includes the addition of new modules for the tux application. These modules include cogs, database, handlers, services, and utils. Each of these modules has been initialized with an __init__.py file.
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