text-matcher/src/Nocr.TextMatcher.Async.Api.Contracts/TextSubscriptionMatched.cs
2024-03-30 09:14:06 +03:00

53 lines
1.4 KiB
C#

using Nocr.TextMatcher.Contracts;
namespace Nocr.TextMatcher.Async.Api.Contracts;
public class TextSubscriptionMatched : IEvent
{
public Guid Id => Guid.NewGuid();
/// <summary>
/// Идентификатор матча
/// </summary>
public long SubscriptionId { get; set; }
/// <summary>
/// Идентификатор владельца матча
/// </summary>
public long SubscriptionUserId { get; set; }
/// <summary>
/// Username чата
/// </summary>
public string ChatUsername { get; set; }
/// <summary>
/// Правило совпадения
/// </summary>
public TextSubscriptionRule Rule { get; set; }
/// <summary>
/// Шаблон совпадения
/// </summary>
public string Template { get; set; }
/// <summary>
/// Имя или username отправителя
/// </summary>
public string? From { get; set; }
/// <summary>
/// Текст сообщения
/// </summary>
public string Text { get; set; }
/// <summary>
/// Дата получения сообщения слушателем
/// </summary>
public DateTimeOffset OccuredDateTime { get; set; }
/// <summary>
/// Дата публикации события в очередь
/// </summary>
public DateTimeOffset PublishedDateTime { get; set; }
}