| 1234567891011121314151617181920212223 |
- namespace Application.Abstractions.YouTube;
- /// <summary>
- /// YouTube 라이브 채팅 수집 서비스
- /// PubSubHubbub 알림 → videos.list 확인 → streamList/폴링으로 채팅 수집
- /// </summary>
- public interface IYouTubeLiveChatService
- {
- /// <summary>특정 videoId의 라이브 채팅 모니터링 시작</summary>
- Task<bool> StartAsync(string videoId, CancellationToken ct);
- /// <summary>라이브 채팅 모니터링 중지</summary>
- Task StopAsync(string liveChatId);
- /// <summary>현재 모니터링 중인지 확인</summary>
- bool IsMonitoring(string liveChatId);
- /// <summary>모니터링 중인 모든 liveChatId 목록</summary>
- IReadOnlyList<string> GetActiveChatIds();
- /// <summary>새 메시지 수신 이벤트 — ChatHub에서 구독하여 브로드캐스트</summary>
- event Func<YouTubeChatMessage, Task>? OnMessageReceived;
- }
|