Exemple #1
0
 public AdminController(
     ILogger <AdminController> logger,
     ITelegramSession telegramSession)
 {
     _logger          = logger;
     _telegramSession = telegramSession;
 }
Exemple #2
0
 public AdminHub(
     ILogger <AdminHub> logger,
     ITelegramSession telegramSession,
     ITelegramService telegramService)
 {
     _logger          = logger;
     _telegramSession = telegramSession;
     _telegramService = telegramService;
 }
Exemple #3
0
 public void Dispose()
 {
     _telegramSession?.Dispose();
     _telegramSession = null;
     _stateChangeSub?.Dispose();
     _stateChangeSub = null;
     _messageSub?.Dispose();
     _messageSub = null;
     _chatSub?.Dispose();
     _chatSub = null;
 }
Exemple #4
0
 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)
         );
 }