public override async Task Publish() { EnsureInitialized(); try { var snapshot = await GetCurrentInventorySnapshot(); await TelegramSender.SendTextMessageAsync(PublisherSettings.ChatId, await _nettingEngineStateProvider.GetStateMessageAsync(PrevSnapshot, snapshot)); PrevSnapshot = snapshot; } catch (Exception ex) { Log.Error(ex); } }
public override async Task ProcessMessageInternalAsync(ITelegramSender telegramSender, Message message) { try { var allowedChatIds = await GetAllowedChatIds(); if (allowedChatIds.Contains(message.Chat.Id)) { var chatPublisher = (NettingEnginePublisher)_chatPublisherStateService.NePublishers.Single(x => x.Key == message.Chat.Id).Value; var snapshot = await _marketMakerReportsClient.InventorySnapshotsApi.GetLastAsync(); await telegramSender.SendTextMessageAsync(message.Chat.Id, await _nettingEngineStateProvider.GetStateMessageAsync(chatPublisher.PrevSnapshot, snapshot), replyToMessageId : message.MessageId); } } catch (Exception ex) { await Log.WriteErrorAsync(nameof(NettingEngineStateSubscriber), nameof(ProcessMessageInternalAsync), "", ex); } }