800 Commits

Author SHA1 Message Date
8a0232b842
Feat: Update word list to words_alpha.txt
Changed the default word list file from `words.txt` to `words_alpha.txt` for both Wordle and Hangman games. This ensures a more comprehensive and accurate word source for these games.
2025-05-28 12:36:03 -06:00
49800bc626
fix: Simplify win status message in generate_board_image function 2025-05-28 12:34:16 -06:00
2a4d097c2e
fix: Update image part handling to use inline_data for raw bytes in process_requested_tools 2025-05-28 08:48:33 -06:00
cde506052f
feat: Add tools for user avatar data and role color
Introduces `get_user_avatar_data` to retrieve a user's avatar as base64 encoded image data, allowing the AI to "see" the profile picture directly. This includes special handling in `process_requested_tools` to attach the image as a `types.Part` in the prompt.

Also adds `get_user_highest_role_color` to fetch the color and details of a user's highest-positioned role.
2025-05-28 08:44:35 -06:00
d3cf350434
fix: Clarify distinction between "Ame-chan" bot and head admin user in prompt 2025-05-28 08:27:29 -06:00
73843bfc5a
feat: Add clarification about the "Ame-chan" and "KAngel" Discord bots in Gurt's prompt 2025-05-28 08:23:42 -06:00
c687777a9a
Feat: Update Gurt's prompt with new bot info and model version
Update Gurt's prompt to clarify that Ame-chan is not an AI and introduce the KAngel bot. Also, update the Gemini model version to `gemini-2.5-flash-preview-05-20` and remove uptime from server specs.
2025-05-28 08:20:10 -06:00
bb745160ac
fix: Improve handling of multimodal message content in get_ai_response function 2025-05-27 23:07:31 -06:00
cc9666f4e3
fix: Clarify usage guidelines for timeout_user function to prevent misuse 2025-05-27 23:05:49 -06:00
f02c2f865c
feat: Enhance historical message processing with custom emoji and sticker image support 2025-05-27 23:04:25 -06:00
87e0fe0340
fix: Ensure formatted message is defined for processing attachments, emojis, and stickers 2025-05-27 22:53:57 -06:00
6881dd4737
feat: Add support for custom emojis and stickers in message formatting 2025-05-27 22:51:43 -06:00
e8eaff4b9a
Refactor: Clarify User ID usage and enhance author attribution
This commit improves user identification in two key areas:

1.  **AI Response Context:**
    In `gurt/api.py`, messages processed by the AI now include a more informative author string, combining the user's display name and username (e.g., "DisplayName (Username: actual_username)"). This provides richer context about message authors.

2.  **Tool Definitions:**
    Descriptions for tools in `gurt/config.py` and `gurt/prompt.py` (e.g., `search_user_messages`, `get_user_facts`) and their parameters have been updated to explicitly state that user identification relies on "User ID". This enhances clarity for the AI model and developers.
2025-05-27 22:48:15 -06:00
d2e20ded2a
fix: Simplify server specs output by removing uptime details 2025-05-27 22:42:03 -06:00
5958d9718b
fix: Clarify usage of execute_internal_command with user ID requirement 2025-05-27 22:39:28 -06:00
bb8cdadf47
Docs: Clarify run_terminal_command and add execute_internal_command
Updated the description for `run_terminal_command` to specify it runs in an "empty" Docker sandbox.
Added documentation for the new `execute_internal_command` tool, which executes commands on the host machine.
2025-05-27 22:35:27 -06:00
64857c683f
fix: Update bot specifications and environment details in prompt 2025-05-27 22:34:02 -06:00
3ff850a9b3
feat: Add channel ignore functionality
Implement `/gurtignore` commands to manage channels Gurt should ignore.
- Add `gurtignore add` to add a channel to the ignore list.
- Add `gurtignore remove` to remove a channel from the ignore list.
- Add `gurtignore list` to display currently ignored channels.
- Update `GurtCog` and `config.py` to support ignored channel IDs and file management.
- Ensure ignore commands are owner-only.
- Modify `listeners.py` to prevent Gurt from processing messages in ignored channels.
2025-05-27 22:19:36 -06:00
3290b50fbd
fix: Update attachment handling to use types.FileData for URI parts 2025-05-27 22:13:51 -06:00
8f578cfe03
fix: Update attachment handling to use types.Part constructor for URI parts 2025-05-27 22:10:44 -06:00
145c91c5c2
fix: Explicitly mark attachment descriptions in AI response 2025-05-27 22:02:22 -06:00
70ad9af28c
fix: Add type hint for bot parameter in setup function 2025-05-27 21:46:47 -06:00
6af16c43e2
feat: Add commands to remove lockdown from channels and servers 2025-05-27 21:45:11 -06:00
c32f7959b1
Refactor: Remove redundant tree.sync call in LockdownCog setup 2025-05-27 21:43:01 -06:00
208cdb5948
feat: Refactor command groups for TetoCog to improve structure and organization 2025-05-27 21:39:21 -06:00
eef0d99817
feat: Introduce /ame command group and update related commands for Ame-chan AI 2025-05-27 21:25:44 -06:00
b803380573
feat: Refactor lockdown commands to use app_commands and improve interaction handling 2025-05-27 21:06:48 -06:00
c5588084ae
feat: Load lockdown cog and handle potential errors
This commit adds the loading of the lockdown cog in main.py. It also includes error handling to catch and log any exceptions that may occur during the loading process, improving the bot's robustness.
2025-05-27 21:04:32 -06:00
542be94a0f
fix: Update model configuration to use the latest version of Gemini 2025-05-27 17:08:06 -06:00
1b26459db0
feat: Implement bidirectional usage counts for roleplay commands and add pluralization helper 2025-05-27 15:04:23 -06:00
8cbe6955bc
feat: Add headpat and hug commands
Implement new slash commands `/headpat` and `/hug` to `MessageCog` and `NeruMessageCog`. These commands send wholesome messages to mentioned users and track usage between them.
2025-05-26 22:41:29 -06:00
ba1b0effdf
fix: Correct mention usage in response messages for roleplay commands 2025-05-26 22:07:13 -06:00
9091d12ebb
fix: Clarify response messages for rape and sex commands 2025-05-26 22:02:17 -06:00
dd0dd16ff2
fix: Update response messages for sex and rape commands for clarity 2025-05-26 22:00:54 -06:00
d7eca0aafc
feat: Display usage count for molest and rape commands
Adds a counter to the molest and rape commands, showing how many times the interaction has occurred between the two users. This provides immediate feedback on the frequency of these actions.
2025-05-26 21:58:26 -06:00
1a6330537f
feat: Implement command usage tracking
Introduces a new `command_usage_counters` table to track how many times specific commands are used between two users.

- Adds `_ensure_usage_table_exists` to create the table if it doesn't exist.
- Implements `_increment_usage_counter` to update or insert usage counts.
- Adds `_get_usage_count` to retrieve usage counts.
- Integrates usage tracking into the `molest` command (both slash and legacy).
- Adds logging for database operations related to usage tracking.
2025-05-26 21:45:30 -06:00
8eb52a925b
feat: Enhance guild command preparation to support custom groups and improve type handling 2025-05-26 16:29:37 -06:00
b7321f9bed
fix: Await asynchronous command creation in GuildCommandSyncer 2025-05-26 16:26:58 -06:00
d89645ca28
Refactor: Store group customizations as objects
Changes the `group_customizations` data structure to store a dictionary containing `name` and `description` for each group, rather than just the custom name. This aligns with how command customizations are stored and prepares for future additions like custom group descriptions.

Updates the dashboard UI and settings cog to correctly display the new group customization format, while maintaining backward compatibility for existing data.
2025-05-26 16:23:47 -06:00
0008327bd0
feat: Add command to list available command groups for debugging 2025-05-26 16:18:49 -06:00
92c07a8430
fix: Ignore DM messages and reactions in leveling system for guilds only 2025-05-26 15:49:43 -06:00
2609c6ea8b
feat: Enhance custom bot management with improved cleanup and resource handling 2025-05-26 15:45:44 -06:00
f6e70a85c0
feat: Provide default values for required fields in user settings during global settings update 2025-05-26 15:37:15 -06:00
0571033ca2
fix: Update error message for owner-only command to include link to web dashboard 2025-05-26 15:31:13 -06:00
cab07d09db
feat: Refactor utility exports for improved accessibility in the dashboard 2025-05-26 15:28:59 -06:00
cfb768cc33
feat: Initialize custom bot from dashboard and add DOM utilities
- Move `initCustomBot` call from `DOMContentLoaded` listener in `custom-bot.js` to `initDashboard` in `utils.js`.
- Ensure `initCustomBot` is called only after user authentication is checked and dashboard elements are ready.
- Add `show`, `hide`, and `toggle` utility functions to the `DOM` object in `utils.js` for managing element visibility.
2025-05-26 15:25:55 -06:00
c61ccd5ca4
feat: Add endpoint to retrieve authenticated user information and enhance global settings model 2025-05-26 15:22:12 -06:00
0677b7e168
feat: Implement custom bot configuration dashboard
This commit introduces a new custom bot configuration dashboard, providing a streamlined interface for managing bot settings.

Key changes include:
- **UI/UX Enhancements:**
    - Added new CSS for a modern, responsive dashboard layout, including header, navigation, and form styling.
    - Implemented a dynamic bot status indicator (online/offline).
    - Improved form validation and user feedback mechanisms.
- **Frontend Logic:**
    - Refactored `custom-bot.js` to handle loading, saving, and validating bot settings.
    - Integrated `showFeedback` utility for consistent user notifications.
    - Updated API calls to use `fetch` for better control and error handling.
- **HTML Structure:**
    - Modified `index.html` to incorporate the new dashboard layout and elements.
- **Utility Functions:**
    - Added `showFeedback` function in `utils.js` for displaying success/error messages.

This feature significantly improves the user experience for configuring custom bots.
2025-05-26 15:19:26 -06:00
d09a0897c6
feat: add OwnerUtilsCog with DM command for owner-only messaging and enhanced error handling 2025-05-26 15:05:15 -06:00
195b95d575
feat: implement owner check for slash_change_avatar command and improve error handling 2025-05-26 14:52:35 -06:00