-
-
Notifications
You must be signed in to change notification settings - Fork 0
Roadmap
Ashton edited this page Feb 11, 2026
·
2 revisions
This document outlines the future development plans for the Giveaway Bot.
- Advanced GDPR Cleanup: Iterate known user IDs from active
profiles to clean associated globals (currently relies on
!giveaway data deleteresolving IDs from active entries or command arguments).
- Unified Event Bus: Refactor
Messenger.SendBroadcastandCPHAdaptercalls into a stricter event-driven architecture to decouple logic from Streamer.bot actions further. - Cross-Profile Analytics: Add a command to generate aggregate stats across all profiles (e.g., total entries across "Daily" and "Weekly" giveaways).
- Unit Test Coverage: Expand
TestRunner.csto cover edge cases for the newLocsystem and config loading logic. - Documentation Localization: Translate
USER_GUIDE.mdinto other languages if community demand arises.
- Standardize Timer Usage: Consolidate
System.Threading.TimerandSystem.Timers.Timerusage for consistency across the codebase. - Refactor ObsController: Resolve static vs instance method
confusion in
ObsControllerto clarify the API and usage. - Configuration Schema Validation: Implement stricter JSON schema validation during config load to prevent typos and invalid structures.
- Concurrency Stress Testing: Create specialized unit tests targeting race conditions (e.g., parallel entries vs draw) to verify robustness.
- Security Review: Evaluate the current
Environment-based key derivation strategy for AES encryption to ensure it meets security requirements.
This project currently targets C# 7.3 and .NET Framework 4.8 due to Streamer.bot's embedded scripting runtime environment.
If Streamer.bot upgrades to a newer .NET runtime, this project will adopt modern C# features accordingly. Until then, we cannot use:
- β C# 8.0+: Nullable reference types, pattern matching enhancements,
using declarations,
??=operator, switch expressions - β C# 9.0+: Target-typed new expressions, records, init-only setters
- β C# 10.0+: Global usings, file-scoped namespaces, record structs
- β C# 11.0+: Required members, list patterns, raw string literals
- β C# 12.0+: Primary constructors, collection expressions
Note: The .editorconfig file suppresses IDE suggestions for these
features to reduce noise during development. These suppressions should be
reviewed and removed when Streamer.bot updates its runtime.
- Copy-Paste Deployment: The bot deploys as a single C# file directly into Streamer.bot's "Execute C# Code" action
- No Control Over Runtime: We cannot bundle or upgrade dependencies; we must match Streamer.bot's environment exactly
- Future-Ready: The architecture is designed to be upgrade-friendly when Streamer.bot evolves