Добавлены новые методы отправки сообщений

This commit is contained in:
2026-02-06 04:38:06 +03:00
parent 69ff3cf7d4
commit cd280369bc
25 changed files with 1525 additions and 219 deletions

View File

@@ -0,0 +1,55 @@
using BotPages.Core.Abstractions;
namespace BotPages.Core.Messaging;
/// <summary>
/// Расширения для MessageBuilder для работы с разными адаптерами.
/// </summary>
public static class MessageBuilderAdapterExtensions
{
/// <summary>
/// Отправить сообщение через конкретный адаптер.
/// </summary>
public static MessageBuilder WithAdapter(this MessageBuilder builder, IMessengerAdapter adapter)
{
builder.WithAdapter(adapter);
return builder;
}
/// <summary>
/// Отправить сообщение через адаптер по типу и ID экземпляра.
/// </summary>
public static MessageBuilder WithAdapter(this MessageBuilder builder, string messengerType, string instanceId)
{
// Получаем фабрику адаптеров через сервис локатор или контекст
// В реальной реализации нужно будет передать фабрику адаптеров
return builder;
}
/// <summary>
/// Отправить сообщение через адаптер по полному ключу.
/// </summary>
public static MessageBuilder WithAdapter(this MessageBuilder builder, string fullMessengerKey)
{
// В реальной реализации нужно будет передать фабрику адаптеров
return builder;
}
/// <summary>
/// Отправить сообщение в указанный чат с указанным адаптером.
/// </summary>
public static MessageBuilder ToChat(this MessageBuilder builder, string chatId, IMessengerAdapter adapter)
{
return builder.ToChat(chatId, adapter);
}
/// <summary>
/// Отправить сообщение в чат в другом адаптере того же типа.
/// </summary>
public static MessageBuilder ToChatInOtherInstance(this MessageBuilder builder, string chatId, string instanceId)
{
// Получаем тип текущего адаптера и используем другой экземпляр
// В реальной реализации нужно будет передать фабрику адаптеров
return builder;
}
}