diff --git a/src/Nocr.TelegramListener.AppServices/UpdateListeners/Handlers/Implementation/NewMessageHandler.cs b/src/Nocr.TelegramListener.AppServices/UpdateListeners/Handlers/Implementation/NewMessageHandler.cs index 5d0d6a0..9aa4b88 100644 --- a/src/Nocr.TelegramListener.AppServices/UpdateListeners/Handlers/Implementation/NewMessageHandler.cs +++ b/src/Nocr.TelegramListener.AppServices/UpdateListeners/Handlers/Implementation/NewMessageHandler.cs @@ -31,6 +31,9 @@ public sealed class NewMessageHandler : INewMessageHandler if (string.IsNullOrWhiteSpace(m.message)) break; + var from = m.from_id.Peer(_telegramRegistry.Users, _telegramRegistry.Chats); + var fromUsername = from.StartsWith('@') ? from : null; + _logger.LogInformation("{From} in {Chat} > {MessageText}", m.from_id.Peer(_telegramRegistry.Users, _telegramRegistry.Chats) ?? m.post_author, m.peer_id.Peer(_telegramRegistry.Users, _telegramRegistry.Chats), @@ -41,11 +44,12 @@ public sealed class NewMessageHandler : INewMessageHandler _logger.LogWarning("Failed to get chat user name for chat {ChatId}", m.peer_id.ID); break; } - + + var @event = new MessageReceived { - From = m.from_id.ID, - ChatId = m.peer_id.ID, + FromId = m.from_id.ID, + FromUsername = fromUsername, ChatUsername = chatUserName, Text = m.message, OccuredDateTime = _dateProvider.UtcNow diff --git a/src/Nocr.TelegramListener.Async.Api.Contracts/Events/TextUpdateReceived.cs b/src/Nocr.TelegramListener.Async.Api.Contracts/Events/TextUpdateReceived.cs index 3bbe619..96935be 100644 --- a/src/Nocr.TelegramListener.Async.Api.Contracts/Events/TextUpdateReceived.cs +++ b/src/Nocr.TelegramListener.Async.Api.Contracts/Events/TextUpdateReceived.cs @@ -6,10 +6,10 @@ public sealed class MessageReceived : IEvent public string Text { get; set; } = default!; - public long From { get; set; } + public long FromId { get; set; } + + public string? FromUsername { get; set; } - public long ChatId { get; set; } - public string ChatUsername { get; set; } = default!; public DateTimeOffset OccuredDateTime { get; set; }