chat.ts 1.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. // GET /api/chat/rooms/{roomKey}/messages 응답 (SSR 초기 로드용 — 익명 허용)
  2. export interface ChatRoomHistory {
  3. roomKey: string;
  4. notice: string|null;
  5. slowModeSeconds: number;
  6. messages: ChatMessage[];
  7. }
  8. export interface ChatMessage {
  9. memberID: number;
  10. memberSID: string;
  11. memberName: string;
  12. content: string;
  13. sentAt: string;
  14. source?: string;
  15. youTubeChannelId?: string|null;
  16. // 뱃지 (우선순위: 칭호 > 등급 > 아이콘)
  17. titleIconUrl?: string|null;
  18. titleName?: string|null;
  19. titleColor?: string|null;
  20. gradeImageUrl?: string|null;
  21. gradeTextColor?: string|null;
  22. memberIcon?: string|null;
  23. }
  24. // ChatHub.ReceiveParticipants 페이로드 — 접속 참여자 목록 row (SignalR camelCase)
  25. export interface ChatParticipant {
  26. memberName: string;
  27. isGuest: boolean;
  28. sid?: string|null;
  29. icon?: string|null;
  30. level: number;
  31. }
  32. // GET/POST /api/mypage/chat-settings — 채팅 수신 설정 (초대/귓속말/팔로잉 접속 표시)
  33. export interface ChatSettings {
  34. allowInvite: boolean;
  35. allowWhisper: boolean;
  36. showFollowingOnline: boolean;
  37. }