Added a new /ai usage slash command on Discord that allows users to privately check their daily AI usage statistics, including the number of questions asked and remaining daily limit.
Enhancements:
Small changes to the default prompt files for better AI interactions.
Renamed /ai stats in-game command to /ai usage for clarity.
Implemented an update checker to notify server owners about new ServerAssistantAI updates.
Added a new permission serverassistantai.updatecheck that allows players to be notified about ServerAssistantAI updates. This permission is granted to all OP players by default.
Config Changes:
Added support for defining multiple user groups with different daily limits for both Minecraft and Discord.
In-game users can be assigned to a specific group using the permission serverassistantai.group.<group>.
Discord users can be assigned to a group using either the role ID or role name in the config.
Introduced a new Response Filtering section in the config:
Added an exclude list to specify elements that should be removed from the AI's responses (case-insensitive). This is in addition to the built-in list of elements that are always removed.
Added a stop list to define words that will cause the AI to stop a response immediately after encountering them.
Added a new blocked_roles option in the Discord config section to restrict specific roles from using the AI.
Made some changes to the config comments for better clarity and understanding.
API Changes:
Renamed JDAManager#isStarted() to isReady() for more accurate naming.
Added API methods for getting current player/user limits.
Bug Fixes:
Fixed an issue where the plugin did not properly notify the player of an internal error if DiscordSRVUtils was not installed.
Split Cohere embedding requests if there are more than 96 segments to avoid exceeding the API limit.
Other Changes:
The plugin now fails to reload if there are syntax errors or type errors in the config, providing better error handling.