- Create rules.py module with Rule base class and implementations:
- MinReactionsRule: Trigger if received n reactions or more
- MaxUsageRule: Trigger if total usage did not exceed n
- CooldownRule: Trigger if cooldown time has elapsed
- NotUserRule: Trigger if last user was not person x
- NotSameUserRule: Prevent same user from using consecutively
- TimeWindowRule: Trigger if time is between t1 and t2
- AndRule/OrRule: Combine rules with AND/OR logic
- GlobalCooldownRule: Rate limit across all commands
- Update main.py to use the new RuleEngine
- Add comprehensive test suite (60 tests)
Co-authored-by: kuhyx <147418882+kuhyx@users.noreply.github.com>