Files
DanDingNoneBot/danding_bot/plugins/auto_recall/config.py
Mr.Xia c01338f496 refactor(plugins): comprehensive code review - ~35 fixes across 14 plugins
Phase 1 - Plugin code review (14/14 plugins):
- Security: 3x token leak in print→logger.debug, Bearer prefix handling
- Bug: bare except→specific exceptions, HorseState type safety, sync→async
- Critical: response_model undefined, route dead code, sync blocking event loop
- Quality: 11x print()→logger, variable name shadowing, consistent logging

Phase 2 - Deep analysis:
- Fix: payout int truncation→max(1, round(amount*odds))
- Fix: room_store get_lock race condition→dict.setdefault()
- Verify: data_manager f-string SQL is safe (uses ? placeholders)

Infrastructure: review reports generated for all plugins.
2026-05-09 23:22:28 +08:00

11 lines
440 B
Python

from pydantic import BaseModel, Field, validator
class Config(BaseModel):
recall_delay: int = Field(default=110, ge=1, env="RECALL_DELAY")
qqpush_recall_delay: int = Field(default=3600, ge=1, env="QQPUSH_RECALL_DELAY")
@validator("recall_delay", "qqpush_recall_delay")
def delay_must_be_positive(cls, v: int) -> int:
if v < 1:
raise ValueError("撤回延迟必须大于0秒")
return v