26 lines
1.2 KiB
C#
26 lines
1.2 KiB
C#
using BotPages.Core.Context;
|
||
|
||
namespace BotPages.Core.Abstractions;
|
||
|
||
/// <summary>
|
||
/// Фабрика адаптеров мессенджеров.
|
||
/// Используется для разрешения конкретного <see cref="IMessengerAdapter"/> по типу мессенджера.
|
||
/// </summary>
|
||
public interface IMessengerAdapterFactory
|
||
{
|
||
/// <summary>
|
||
/// Получить адаптер для указанного мессенджера.
|
||
/// </summary>
|
||
/// <param name="messengerType">
|
||
/// Тип мессенджера (например, "Telegram", "Slack", "VK").
|
||
/// Значение должно совпадать с <see cref="UpdateContext.User"/>.<see cref="UserContext.MessengerType"/>.
|
||
/// </param>
|
||
/// <returns>
|
||
/// Экземпляр <see cref="IMessengerAdapter"/>, зарегистрированный для данного типа мессенджера.
|
||
/// </returns>
|
||
/// <exception cref="InvalidOperationException">
|
||
/// Выбрасывается, если адаптер для указанного типа не зарегистрирован.
|
||
/// </exception>
|
||
IMessengerAdapter Resolve(string messengerType);
|
||
}
|