subscribe
This commit is contained in:
@@ -0,0 +1,30 @@
|
||||
using PepperBot.Domain;
|
||||
|
||||
namespace PepperBot.Application.Interfaces;
|
||||
|
||||
public interface ISubscriptionRepository
|
||||
{
|
||||
Task InitializeAsync(CancellationToken cancellationToken);
|
||||
|
||||
/// <summary>
|
||||
/// Получить все активные подписки.
|
||||
/// </summary>
|
||||
Task<IReadOnlyList<Subscription>> GetAllActiveAsync(CancellationToken cancellationToken);
|
||||
|
||||
/// <summary>
|
||||
/// Добавить новое правило подписки для указанного чата.
|
||||
/// Одно правило = один кейворд (но у одного чата может быть много правил).
|
||||
/// </summary>
|
||||
Task AddSubscriptionAsync(string chatId, string keyword, CancellationToken cancellationToken);
|
||||
|
||||
/// <summary>
|
||||
/// Получить активные подписки для конкретного чата.
|
||||
/// </summary>
|
||||
Task<IReadOnlyList<Subscription>> GetByChatAsync(string chatId, CancellationToken cancellationToken);
|
||||
|
||||
/// <summary>
|
||||
/// Удалить (деактивировать) подписку по идентификатору.
|
||||
/// </summary>
|
||||
Task DeleteSubscriptionAsync(long id, CancellationToken cancellationToken);
|
||||
}
|
||||
|
||||
@@ -4,6 +4,19 @@ namespace PepperBot.Application.Interfaces;
|
||||
|
||||
public interface ITelegramNotifier
|
||||
{
|
||||
/// <summary>
|
||||
/// Уведомление о новой скидке в общий чат (из переменной окружения TELEGRAM_CHAT_ID).
|
||||
/// </summary>
|
||||
Task NotifyNewDealAsync(Deal deal, CancellationToken cancellationToken);
|
||||
|
||||
/// <summary>
|
||||
/// Уведомление о скидке в конкретный Telegram-чат (личная/персональная рассылка).
|
||||
/// </summary>
|
||||
Task NotifyDealToChatAsync(Deal deal, string chatId, CancellationToken cancellationToken);
|
||||
|
||||
/// <summary>
|
||||
/// Запустить обработку входящих сообщений Telegram и регистрацию подписок.
|
||||
/// </summary>
|
||||
Task StartAsync(CancellationToken cancellationToken);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user