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