Correction mineurs système de ticket & fix de l'erreur "!! CommandeNotfound"

This commit is contained in:
Mathis 2026-03-10 22:08:14 +01:00
parent dfec6b2418
commit 33fd07b842
16 changed files with 30 additions and 2868 deletions

View file

@ -216,6 +216,17 @@ class TicketData:
@classmethod
def from_dict(cls, data: Dict[str, Any]) -> 'TicketData':
messages = [TicketMessage.from_dict(m) for m in data.get("messages", [])]
def safe_parse_date(date_str, default=None):
if not date_str:
return default
try:
if isinstance(date_str, str) and date_str.endswith("Z"):
date_str = date_str[:-1] + "+00:00"
return datetime.fromisoformat(date_str)
except ValueError:
return default
return cls(
channel_id=data.get("channel_id", 0),
guild_id=data.get("guild_id", 0),
@ -223,8 +234,8 @@ class TicketData:
category_id=data.get("category_id", ""),
status=TicketStatus(data.get("status", "open")),
priority=Priority(data.get("priority", "normal")),
created_at=datetime.fromisoformat(data.get("created_at", datetime.now().isoformat())),
closed_at=datetime.fromisoformat(data["closed_at"]) if data.get("closed_at") else None,
created_at=safe_parse_date(data.get("created_at"), datetime.now()),
closed_at=safe_parse_date(data.get("closed_at")),
claimed_by=data.get("claimed_by"),
messages=messages,
reason=data.get("reason", ""),