53 lines
1.4 KiB
C#
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; }
|
|
} |