private void MessengerOnSnapshotRequested(object sender, SnapshotRequestedEventArgs e) { try { Handle(e.SnapshotRequest, e.CancellationToken).GetAwaiter().GetResult(); } catch (TaskCanceledException) { _logger.LogInformation("Canceled handling snapshot request {@SnapshotRequest}", e.SnapshotRequest); } catch (Exception exception) { _logger.LogError(exception, "Unhandled exception handling snapshot request: {@SnapshotRequest}", e.SnapshotRequest); } }
private void OnCallbackQuery(CallbackQuery query, CancellationToken cancellationToken) { if (!IsUsernameValid(query.Message.Chat.Username)) { _logger.LogWarning("Callback query from {UserName} ignored", query.Message.Chat.Username); return; } var snapshotRequest = new SnapshotRequest { Id = query.Data, Query = query }; _logger.LogInformation("Snapshot request {Id} received from {UserName}", snapshotRequest.Id, query.From.Username); var args = new SnapshotRequestedEventArgs(snapshotRequest, cancellationToken); SnapshotRequested?.Invoke(this, args); }