From f3df86c90ae3bc62ab55aac694b37c5a751b7c68 Mon Sep 17 00:00:00 2001 From: ruberoid Date: Thu, 16 Oct 2025 14:29:11 +0400 Subject: [PATCH] =?UTF-8?q?=D0=A0=D0=B5=D0=B0=D0=BB=D0=B8=D0=B7=D0=BE?= =?UTF-8?q?=D0=B2=D0=B0=D0=BB=20stub=20=D0=BD=D0=B0=20=D0=BD=D0=BE=D0=B2?= =?UTF-8?q?=D0=BE=D0=B5=20=D1=81=D0=BE=D0=B1=D1=8B=D1=82=D0=B8=D0=B5=20?= =?UTF-8?q?=D1=80=D0=B5=D0=B4=D0=B0=D0=BA=D1=82=D0=B8=D1=80=D0=BE=D0=B2?= =?UTF-8?q?=D0=B0=D0=BD=D0=B8=D1=8F=20=D1=83=D0=B6=D0=B5=20=D1=81=D1=83?= =?UTF-8?q?=D1=89=D0=B5=D1=81=D1=82=D0=B2=D1=83=D1=8E=D1=89=D0=B5=D0=B3?= =?UTF-8?q?=D0=BE=20=D1=81=D0=BE=D0=BE=D0=B1=D1=89=D0=B5=D0=BD=D0=B8=D1=8F?= =?UTF-8?q?.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ServiceCollectionExtensions.cs | 5 ++-- .../EventHandlers/MessageEditedHandler.cs | 30 +++++++++++++++++++ ...eceivedHandler.cs => NewMessageHandler.cs} | 6 ++-- 3 files changed, 36 insertions(+), 5 deletions(-) create mode 100644 src/Nocr.TextMatcher.AppServices/TextSubscriptions/EventHandlers/MessageEditedHandler.cs rename src/Nocr.TextMatcher.AppServices/TextSubscriptions/EventHandlers/{MessageReceivedHandler.cs => NewMessageHandler.cs} (96%) diff --git a/src/Nocr.TextMatcher.AppServices/ServiceCollectionExtensions.cs b/src/Nocr.TextMatcher.AppServices/ServiceCollectionExtensions.cs index e62de2f..3bc3be7 100644 --- a/src/Nocr.TextMatcher.AppServices/ServiceCollectionExtensions.cs +++ b/src/Nocr.TextMatcher.AppServices/ServiceCollectionExtensions.cs @@ -13,9 +13,10 @@ public static class ServiceCollectionExtensions throw new ArgumentNullException(nameof(services)); // Add registrations here - services.AddRebusHandler(); + services.AddRebusHandler(); + services.AddRebusHandler(); services.AddScoped(); - + return services; } } \ No newline at end of file diff --git a/src/Nocr.TextMatcher.AppServices/TextSubscriptions/EventHandlers/MessageEditedHandler.cs b/src/Nocr.TextMatcher.AppServices/TextSubscriptions/EventHandlers/MessageEditedHandler.cs new file mode 100644 index 0000000..f05e2b7 --- /dev/null +++ b/src/Nocr.TextMatcher.AppServices/TextSubscriptions/EventHandlers/MessageEditedHandler.cs @@ -0,0 +1,30 @@ +using Microsoft.Extensions.Logging; +using Nocr.TelegramListener.Async.Api.Contracts.Events; +using Rebus.Handlers; + +namespace Nocr.TextMatcher.AppServices.TextSubscriptions.EventHandlers; + +/// +/// Handler for MessageEdited events from telegram-listener. +/// Currently logs the event without processing to avoid duplicate notifications. +/// +public sealed class MessageEditedHandler : IHandleMessages +{ + private readonly ILogger _logger; + + public MessageEditedHandler(ILogger logger) + { + _logger = logger ?? throw new ArgumentNullException(nameof(logger)); + } + + public Task Handle(MessageEdited message) + { + _logger.LogInformation("Received edited message event for MessageId={MessageId}, ChatUsername={ChatUsername}. Event logged but not processed to avoid duplicates.", + message.MessageId, message.ChatUsername); + + // TODO: In the future, we can implement logic to handle edited messages differently + // For now, we rely on the deduplication logic in MessageReceivedHandler + + return Task.CompletedTask; + } +} diff --git a/src/Nocr.TextMatcher.AppServices/TextSubscriptions/EventHandlers/MessageReceivedHandler.cs b/src/Nocr.TextMatcher.AppServices/TextSubscriptions/EventHandlers/NewMessageHandler.cs similarity index 96% rename from src/Nocr.TextMatcher.AppServices/TextSubscriptions/EventHandlers/MessageReceivedHandler.cs rename to src/Nocr.TextMatcher.AppServices/TextSubscriptions/EventHandlers/NewMessageHandler.cs index eed958b..9c1c7ad 100644 --- a/src/Nocr.TextMatcher.AppServices/TextSubscriptions/EventHandlers/MessageReceivedHandler.cs +++ b/src/Nocr.TextMatcher.AppServices/TextSubscriptions/EventHandlers/NewMessageHandler.cs @@ -10,15 +10,15 @@ using Rebus.Handlers; namespace Nocr.TextMatcher.AppServices.TextSubscriptions.EventHandlers; -public sealed class MessageReceivedHandler : IHandleMessages +public sealed class NewMessageHandler : IHandleMessages { - private readonly ILogger _logger; + private readonly ILogger _logger; private readonly IBus _bus; private readonly ITextSubscriptionRepository _textSubscriptionRepository; private readonly ITextMatchRepository _textMatchRepository; private readonly ICurrentDateProvider _dateProvider; - public MessageReceivedHandler(ILogger logger, + public NewMessageHandler(ILogger logger, IBus bus, ITextSubscriptionRepository textSubscriptionRepository, ITextMatchRepository textMatchRepository,