Commit Graph

97 Commits

Author SHA1 Message Date
TheOnlyMace
496a8239a5 Update environment configuration and enhance Docker setup for production deployment
- Changed NODE_ENV from development to production in .env.example for production readiness.
- Updated WEBUI_URL to point to the new public URL behind Traefik.
- Added internal and external networks in docker-compose.yml for improved service isolation and routing.
- Removed direct port exposure for the WebUI, ensuring it is only accessible through Traefik.
- Refactored landing and login pages in the WebUI to streamline navigation and error handling, redirecting users appropriately based on session status.
2026-07-22 18:53:53 +02:00
smueller
08af99ed52 Implement premium features and GDPR compliance in bot and WebUI
- Added new models for premium tier configurations and assignments, enabling feature limits for free and premium users.
- Introduced GDPR deletion logging and commands for user data management.
- Enhanced logging configuration with retention days for audit logs.
- Updated bot commands and job processing to include new premium and GDPR functionalities.
- Improved localization with new keys for premium features and GDPR commands in both English and German.
- Added UI components for managing premium settings and logging retention in the WebUI.
2026-07-22 16:59:23 +02:00
smueller
4852f16f79 Enhance bot and WebUI functionality with new features and environment updates
- Added support for new environment variables in `.env.example` for public site and legal operator information.
- Integrated core commands into the bot's command structure for improved functionality.
- Implemented a new `publishBotStatus` function to update bot status in Redis, enhancing monitoring capabilities.
- Updated the landing page to include features, invite links, and support server access, improving user experience.
- Enhanced localization with new keys for core commands and landing page elements in both English and German.
- Improved error handling and logging for bot presence updates and status publishing.
2026-07-22 16:47:09 +02:00
smueller
0b4ac0da29 Update Redis configuration to support BullMQ requirements
- Changed `maxRetriesPerRequest` from 3 to null to comply with BullMQ's shared ioredis client requirements.
- Ensured proper initialization of Redis connection for improved performance and compatibility.
2026-07-22 16:15:59 +02:00
smueller
a5bf56f5c9 Update Dockerfile to include new environment variables for bot configuration
- Added `BOT_TOKEN` and `OWNER_USER_IDS` placeholders to the environment configuration for improved bot management.
- Ensured compatibility with the latest features in the Owner Panel and job processing enhancements.
2026-07-22 16:11:30 +02:00
smueller
8a8aefb4fb Implement Owner Panel features and maintenance mode handling
- Introduced the Owner Panel with new routes and UI components for managing guilds, user blacklists, feature flags, and bot presence.
- Added maintenance mode functionality to prevent non-owner users from executing commands during maintenance periods.
- Enhanced localization with new keys for Owner Panel features in both English and German.
- Updated job processing to include a presence refresh job, ensuring the bot's status is regularly updated.
- Improved environment configuration to support owner user IDs for access control.
2026-07-22 16:10:30 +02:00
smueller
bcbfa07697 Implement Batch B features and enhancements for dashboard modules
- Completed integration of shared Zod schemas for various dashboard modules, including Tickets, Giveaways, and more, with new tests added.
- Established WebUI-BullMQ infrastructure for managing jobs related to giveaways, schedules, and guild backups.
- Expanded bot functionality with new jobs for giveaways and suggestions, enabling staff actions through the dashboard.
- Updated module configurations, API routes, and UI components for improved management of tickets, giveaways, and guild backups.
- Enhanced localization with new i18n keys for Batch B modules and verified successful builds across all packages.
2026-07-22 15:57:18 +02:00
smueller
39cca96fed Enhance dashboard overview with activity summary and sidebar commands
- Integrated activity summary into the Guild Overview page, displaying message count, voice minutes, and active user count for the last 7 days.
- Updated sidebar to include a new "Commands" link for easier navigation.
- Added corresponding localization keys for activity metrics in both English and German JSON files.
2026-07-22 15:54:03 +02:00
smueller
e0b4077552 Remove deprecated ModulePlaceholderPage component for dashboard modules. This file was previously used as a catch-all for remaining modules but is no longer needed due to the introduction of dedicated route folders for Batch A modules. 2026-07-22 15:47:34 +02:00
smueller
38979b3c8b Refactor scheduler module and enhance scheduled message handling
- Updated `SchedulerValidationError` to include error codes for better error management.
- Renamed functions for clarity: `listSchedules` to `listScheduledMessagesDashboard` and `createSchedule` to `createScheduledMessageDashboard`.
- Improved validation logic for cron expressions and scheduling times.
- Enhanced the `deleteSchedule` function to ensure proper handling of existing scheduled messages.
- Adjusted database query order and limits for better performance in fetching scheduled messages.
2026-07-22 15:42:57 +02:00
smueller
47b6cfabbc Add suggestion status update job and queue integration
- Introduced a new `SuggestionStatusUpdateJob` type and corresponding worker to handle suggestion status updates in the bot's job processing.
- Added `suggestionsQueue` and `suggestionsQueueEvents` for managing suggestion-related jobs in both the bot and WebUI.
- Implemented `runSuggestionStatusUpdateJob` to facilitate staff actions on suggestions via the WebUI, ensuring consistent behavior with existing commands.
- Enhanced error handling for suggestion actions to improve user experience and reliability.
2026-07-22 15:39:31 +02:00
smueller
0ac69ee840 Refactor giveaway job processing and update environment documentation
- Enhanced the handling of the `giveawayCreate` job in the bot's job processing for improved consistency.
- Clarified the usage of `BOT_TOKEN` in the `.env.example` file for both the bot and WebUI.
- Integrated the `bullmq` dependency into the WebUI package to bolster job management capabilities.
2026-07-22 15:34:20 +02:00
smueller
387fbf11da Refactor giveaway job processing and enhance environment documentation
- Improved handling of the `giveawayCreate` job in the bot's job processing for better consistency.
- Updated `.env.example` to clarify the usage of `BOT_TOKEN` for both the bot and WebUI.
- Added `bullmq` dependency to the WebUI package for enhanced job management capabilities.
2026-07-22 15:31:03 +02:00
smueller
429f974bfc Refactor giveaway job processing and update environment documentation
- Improved the `giveawayCreate` job handling in the bot's job processing, ensuring consistent functionality with existing commands.
- Enhanced the `.env.example` file to provide clearer instructions on the usage of `BOT_TOKEN` for both the bot and WebUI.
- Added the `bullmq` dependency to the WebUI package for better job management capabilities.
2026-07-22 15:22:56 +02:00
smueller
677142672f Enhance giveaway job handling and update environment configuration
- Added support for a new `giveawayCreate` job in the bot's job processing, allowing for giveaways to be created via the WebUI.
- Introduced `runGiveawayCreateJob` function to handle the creation of giveaways, ensuring consistent behavior with existing commands.
- Updated `.env.example` to clarify the usage of `BOT_TOKEN` for both the bot and WebUI, enhancing documentation for environment variables.
- Added `bullmq` dependency in the WebUI package for job management capabilities.
2026-07-22 15:19:04 +02:00
smueller
2ef6b23136 Implement Phase 7 features and enhance dashboard schemas
- Updated PHASE-TRACKING.md to reflect the completion of Batch A features, including the implementation of dashboard pages and API routes for various modules.
- Added new Prisma models and migration for owner features, including CommandOverride and GlobalUserBlacklist.
- Expanded dashboard schemas in dashboard.ts to include Ticket, Giveaway, Self Role, Tag, and Starboard configurations, along with their respective validation tests in dashboard.test.ts.
- Enhanced localization files with new i18n keys for the added modules and features.
- Verified successful builds and tests across multiple packages, ensuring stability and functionality of new features.
2026-07-22 15:10:30 +02:00
smueller
d079cfde79 Enhance ESLint configuration and update component destructuring for improved code quality
- Added a rule to allow unused variables prefixed with an underscore in ESLint configuration.
- Updated destructuring in leveling-form, logging-form, moderation-form, and welcome-form components to prefix unused variables with an underscore, improving clarity and adherence to ESLint rules.
- Expanded German and English localization files with new moderation, auto-moderation, logging, welcome, verification, leveling, economy, and fun module settings for better user experience.
2026-07-22 14:56:03 +02:00
smueller
1de28fa494 Enhance environment configuration and expand Prisma schema for bot management
- Added OWNER_USER_IDS to .env.example for specifying global bot owners.
- Introduced new models in the Prisma schema: CommandOverride, OwnerTeamMember, GlobalUserBlacklist, GuildBlacklist, FeatureFlag, BotPresenceConfig, ChangelogEntry, and OwnerAuditLog to support advanced bot management features.
- Updated env.ts to preprocess OWNER_USER_IDS for better handling of global bot owner IDs.
- Modified ModulePlaceholderPage to ensure proper routing for remaining dashboard modules.
2026-07-22 14:51:56 +02:00
smueller
946283dfba Refactor session management and enhance OAuth2 callback handling
- Updated session management functions to include cookie handling for session creation and destruction.
- Introduced applySessionCookie and clearSessionCookie functions for better cookie management in responses.
- Enhanced error logging in the OAuth2 callback to improve debugging.
- Revised PHASE-TRACKING.md to reflect changes in session handling and OAuth2 integration.
2026-07-22 14:36:14 +02:00
smueller
1de6eac078 Update .env.example and PHASE-TRACKING.md for WebUI configuration changes
- Changed WEBUI_URL in .env.example from localhost to the accessible host IP address (http://10.111.0.65:3000) for proper deployment.
- Updated PHASE-TRACKING.md to reflect the new OAuth2-Redirect URLs and clarify the WebUI integration process.
2026-07-22 14:26:06 +02:00
smueller
b7ad501704 Enhance environment variable handling and Dockerfile configuration
- Introduced a utility function to preprocess environment variables, converting empty strings, undefined, or null values to undefined for better validation in EnvSchema.
- Updated Dockerfile to set PORT and HOSTNAME environment variables for improved container configuration.
- Revised PHASE-TRACKING.md to include automated deployment verification steps, ensuring a smoother deployment process.
2026-07-22 14:22:57 +02:00
smueller
59b3ccb0ca Enhance Dockerfile and Redis configuration for improved build-time handling
- Added environment variables in Dockerfile for build-time placeholders, ensuring proper static analysis during the build process.
- Updated Redis initialization in redis.ts to include lazy connection, preventing network access during module import and improving error handling with a console log for connection errors.
2026-07-22 14:15:52 +02:00
smueller
6a155597ce Remove console error suppression in toApiErrorResponse for improved error logging 2026-07-22 14:06:12 +02:00
smueller
4fcbe38b56 Update .env.example, tsconfig.json, and PHASE-TRACKING.md for WebUI integration and feature completion
- Added WEBUI_URL and SESSION_SECRET to .env.example for improved configuration.
- Updated TypeScript target in apps/webui/tsconfig.json to ES2022 for modern features.
- Revised PHASE-TRACKING.md to reflect the completion of Phase 6, detailing implemented features and pending manual tests for the WebUI, including Discord OAuth2 integration and session management.
2026-07-22 14:04:35 +02:00
smueller
84476e6277 Refactor layout and home page for improved localization and session handling
- Updated RootLayout to include locale support and integrated ThemeProvider and LocaleProvider for better internationalization.
- Replaced static home page content with a redirect based on user session status, enhancing user experience by directing to the appropriate dashboard or login page.
- Switched font from Geist to Inter for improved typography consistency.
2026-07-22 14:01:09 +02:00
smueller
04e04eb11d Update fun module configuration and enhance CSS styles
- Added 'enabled' property to FunConfigSchema with a default value of true for better configuration management.
- Refactored getFunConfig to return a complete default configuration when no data is found.
- Improved globals.css by expanding CSS variables for light and dark themes, enhancing styling consistency across the application.
2026-07-22 13:56:33 +02:00
smueller
7bc1684566 Enhance Prisma schema and documentation for dashboard features
- Added new models for DashboardAccessRule and DashboardAuditLog to the Prisma schema, improving access control and logging capabilities.
- Updated GuildSettings model to include timezone support.
- Revised PHASE-TRACKING.md to reflect the completion of Phase 5 and outline upcoming Phase 6 features, including dashboard layout and settings framework.
- Exported new phase 6 features in shared index for better modularity.
2026-07-22 13:50:14 +02:00
smueller
6f3da6bb15 Add BOT_CLIENT_SECRET to .env.example for enhanced configuration options 2026-07-22 13:37:47 +02:00
smueller
12066befa8 Add stats, feeds, scheduler, and guild backup features to the bot
- Introduced new models in the Prisma schema for statistics, social feeds, scheduled messages, and guild backups, enhancing the bot's functionality.
- Implemented command modules for managing stats channels, feeds, scheduling messages, and creating/restoring backups, improving user engagement and server management.
- Updated job handling to include dedicated workers for stats updates, feed polling, scheduling, and backup restoration, enhancing automation.
- Enhanced command localization for new features in both German and English.
- Documented the new features and their setup processes in PHASE-TRACKING.md for clarity on implementation steps.
2026-07-22 13:36:39 +02:00
smueller
52b10c9536 Add new features for giveaways, tickets, self-roles, tags, starboard, suggestions, and birthdays
- Integrated new command modules for managing giveaways, tickets, self-roles, tags, starboard, suggestions, and birthdays, enhancing the bot's capabilities.
- Implemented job handling for giveaway endings, ticket management, and birthday role expirations, improving automation and user experience.
- Updated command definitions and interaction handling to support new features, ensuring smooth user interactions.
- Enhanced the job processing system with dedicated workers for managing various tasks, including auto-closing tickets and running birthday checks.
- Documented the new features and their setup processes in PHASE-TRACKING.md for clarity on implementation steps.
2026-07-22 13:21:28 +02:00
smueller
1ceb8c3574 Refactor tag editing command to improve option handling and embed structure
- Simplified the retrieval of command options for editing tags, enhancing readability and maintainability.
- Updated embed handling to use an object structure instead of null, ensuring consistency in the updateTag function.
- Improved overall clarity by using descriptive variable names for command options.
2026-07-22 13:09:06 +02:00
smueller
8ec9b94879 Refactor reaction handling and tag response types for improved type safety
- Updated the event handler for message reaction removal to enhance type safety by specifying user types.
- Changed the return type of the buildTagReply function from MessageReplyOptions to InteractionReplyOptions for better compatibility with interaction responses.
- Adjusted embed handling in tag creation and update functions to use undefined instead of null for consistency.
2026-07-22 13:08:58 +02:00
smueller
a583db7a15 Add giveaway, ticket, self-role, starboard, and suggestion features to the bot
- Introduced new models in the Prisma schema for giveaways, tickets, self-role panels, starboard configurations, and suggestions, enhancing the bot's functionality.
- Implemented job handling for self-role expiration and ticket management, improving user experience.
- Updated command localization to support new features in both German and English.
- Enhanced the job processing system to include dedicated workers for managing tickets and self-role expirations.
- Documented the new features and their setup processes in PHASE-TRACKING.md for clarity on implementation steps.
2026-07-22 13:08:37 +02:00
smueller
f2f856628d Refactor command registration to support guild-specific commands
- Updated the command registration process to allow for instant synchronization of guild commands, while maintaining global command registration.
- Introduced optional BOT_GUILD_ID environment variable for guild-specific command handling.
- Enhanced logging to differentiate between guild and global command registrations, improving traceability.
2026-07-22 12:57:25 +02:00
smueller
58623bd1d3 Enhance bot command handling with new leveling, economy, and utility features
- Integrated leveling and economy commands, including XP management and shop interactions.
- Added context menu support for utility commands, improving user interaction options.
- Updated command registration to include new commands and context menus, enhancing overall functionality.
- Improved logging to track the registration of commands and context menus.
- Refactored interaction handling to accommodate new command types and ensure smooth execution.
2026-07-22 12:56:00 +02:00
smueller
fa5910ec43 Implement leveling and economy features with associated models and commands
- Added new models for leveling and economy functionalities in the Prisma schema, including LevelingConfig, MemberLevel, LevelReward, EconomyConfig, MemberEconomy, ShopItem, and InventoryItem.
- Introduced commands for managing XP, economy transactions, and shop interactions, enhancing user engagement.
- Updated job handling to include reminders and poll closing functionalities.
- Enhanced localization support for new commands and features in both German and English.
- Improved the bot's job processing capabilities with a dedicated reminder worker for scheduled tasks.
2026-07-22 12:49:17 +02:00
smueller
2518119257 Enhance bot functionality with AutoMod, Logging, Welcome, and Verification features
- Implemented AutoMod capabilities including spam filtering, anti-raid, and anti-nuke actions.
- Added Logging module to track moderation actions and events across the bot.
- Introduced Welcome module for customizable welcome messages and autoroles.
- Developed Verification system with captcha and role assignment features.
- Updated Prisma schema to include new models for AutoMod, Logging, Welcome, and Verification.
- Enhanced command localization for new features in both German and English.
- Improved health server to handle captcha verification requests.
- Added new environment variable for public base URL to support captcha links.
2026-07-22 12:28:42 +02:00
smueller
a44f4d6641 Update README and moderation commands for localization and migration support
- Revised README to include database migration steps and a new section for database management.
- Enhanced moderation command responses to utilize localized messages for unknown commands.
- Refactored moderation commands to use centralized command data definitions, improving maintainability and consistency.
- Added localization support for command descriptions and options in both German and English.
- Versioned Prisma migrations for better tracking of database changes.
2026-07-22 12:06:16 +02:00
smueller
405b70bdfc Refactor moderation actions to include channel and source metadata
- Updated moderation action functions to include `channelId` and `source` in the metadata for better tracking of actions.
- Introduced an `auditFrom` function to streamline the addition of audit information across various commands.
- Removed `prisma/migrations` from .gitignore to ensure migration files are tracked.
- Enhanced the `CreateCaseInput` type to accommodate new metadata structure.
2026-07-22 11:28:43 +02:00
smueller
878478e4fc Implement confirmation flow for destructive moderation actions
- Added confirmation prompts for destructive commands such as `/ban`, `/purge`, and `/case delete` to enhance user safety.
- Integrated locale support for confirmation messages, ensuring clarity in both German and English.
- Refactored command logic to utilize the new confirmation system, improving user experience and reducing accidental actions.
2026-07-22 11:26:49 +02:00
smueller
a17d161c06 Enhance moderation commands with locale support and permission checks
- Updated moderation commands to utilize locale for user-facing messages, improving internationalization.
- Refactored permission checks to include locale as a parameter, ensuring accurate responses based on the server's language settings.
- Added new translation keys for bot permissions and command restrictions in both German and English.
2026-07-22 11:23:10 +02:00
smueller
39a47074ae Add documentation requirements and asset respect guidelines to nexumi.mdc
- Mandate progress documentation in `docs/PHASE-TRACKING.md` for relevant changes.
- Emphasize the importance of respecting and documenting existing project assets, such as the bot logo.
2026-07-22 11:21:08 +02:00
smueller
b0e3409793 Enhance purge command with additional filtering options
- Added user, bots, links, attachments, and regex options to the purge command for more granular message deletion.
- Updated the command execution logic to filter messages based on the new options before bulk deletion.
- Modified CreateCaseInput type to use Prisma.InputJsonValue for metadata.
2026-07-22 11:18:33 +02:00
smueller
dd3b132f73 Add backup functionality with escalation rules for moderation commands
- Updated .env.example to include backup configuration options.
- Modified docker-compose.yml to mount backup volume.
- Enhanced Dockerfile to install PostgreSQL client.
- Added EscalationRule model to Prisma schema for managing warning escalation.
- Updated environment validation in env.ts to include backup settings.
- Refactored job handling in jobs.ts to implement backup jobs and cleanup.
- Introduced escalation commands in moderation service for managing user warnings.
- Updated moderation commands to apply escalation rules based on warning count.
2026-07-22 11:16:39 +02:00
smueller
bc97d1d74c Update ESLint rules, enhance environment schema with new metrics and health port, and refactor Redis import. Change TypeScript definitions path in package.json. 2026-07-22 11:11:39 +02:00
smueller
c2271485a5 Remove unnecessary description and whitespace from nexumi.mdc file 2026-07-22 11:07:38 +02:00
smueller
226379eac5 initial commit 2026-07-22 11:06:34 +02:00