Инициализировать репозиторий «Дейл»
Первый коммит: модульный монолит ядра (.NET 10) и gRPC-сервисы ai/ml/telegram, фронтенд Vue 3/Vite/Tailwind, документация (ТЗ, инструкция пользователя, техдокументация, код-стайл), бэклог, скрипты развёртывания и архив прототипа LeadRadar.
This commit is contained in:
@@ -0,0 +1,23 @@
|
||||
namespace Deal.Telegram.Telegram;
|
||||
|
||||
/// <summary>
|
||||
/// Фабрика клиентов Telegram для сессий тенантов (план Task 9, Telegram/ClientFactory.cs).
|
||||
///
|
||||
/// Создаёт <see cref="ISessionClient"/> для сессии тенанта по ключам приложения и байтам сохранённой
|
||||
/// сессии (или пустой — новый вход). Интерфейс — seam для тестов: тесты регистрируют фейковую
|
||||
/// фабрику, реальный <see cref="ClientFactory"/> сеть Telegram не трогает до первого вызова.
|
||||
/// </summary>
|
||||
public interface ITelegramClientFactory
|
||||
{
|
||||
/// <summary>
|
||||
/// Создаёт клиент Telegram для сессии тенанта.
|
||||
/// </summary>
|
||||
/// <param name="apiId">api_id приложения Telegram (настройка tgKeys тенанта, из тела запроса).</param>
|
||||
/// <param name="apiHash">api_hash приложения Telegram.</param>
|
||||
/// <param name="storedSession">
|
||||
/// Байты сохранённой сессии WTelegramClient (расшифрованная копия файла data/sessions/<tenant>.session)
|
||||
/// либо null — новая сессия (нет файла или ключи приложения сменились).
|
||||
/// </param>
|
||||
/// <returns>Клиент, готовый к ConnectAsync/логину.</returns>
|
||||
public ISessionClient Create(int apiId, string apiHash, byte[]? storedSession);
|
||||
}
|
||||
Reference in New Issue
Block a user