public AdminController( ILogger <AdminController> logger, ITelegramSession telegramSession) { _logger = logger; _telegramSession = telegramSession; }
public AdminHub( ILogger <AdminHub> logger, ITelegramSession telegramSession, ITelegramService telegramService) { _logger = logger; _telegramSession = telegramSession; _telegramService = telegramService; }
public void Dispose() { _telegramSession?.Dispose(); _telegramSession = null; _stateChangeSub?.Dispose(); _stateChangeSub = null; _messageSub?.Dispose(); _messageSub = null; _chatSub?.Dispose(); _chatSub = null; }
public TelegramService( ILogger <TelegramService> logger, ITelegramSession telegramSession, IHubContext <AdminHub, IAdminHub> hub, IMessageAuditService messageAuditService) { _logger = logger; _telegramSession = telegramSession; _hub = hub; _messageAuditService = messageAuditService; _chatSubscriptions = new ConcurrentDictionary <string, List <long> >(); _stateChangeSub = _telegramSession.StateChange.Subscribe(OnStateChanged); _messageSub = _telegramSession.MessageFeed.Subscribe(NewMessage); _chatSub = _telegramSession.ChatFeed .ObserveOn(NewThreadScheduler.Default) .Subscribe( async chat => await SyncLog(chat.ChatId) ); }