/// <summary> /// Создание ответа в зависимости от запроса /// </summary> /// <param name="ad">Контекст подключения к Active Directory</param> /// <param name="telegramUser">Пользователь Telegram, отправивший запрос в чате</param> /// <param name="config">Ссылка на конфигурацию</param> /// <param name="decorators">Список подключенных в StartUp декораторов (сервисов)</param> public Messenger(IAdReader ad, User telegramUser, IConfig config, IComponent[] decorators) { _ad = ad; _telegramUser = telegramUser; _config = config; _decorators = decorators; }
/// <summary> /// Создание бота для обработки сообщений от пользователей /// </summary> /// <param name="logger">Формирование и вывод логов</param> /// <param name="adReader">Контекст подключения к Active Directory</param> /// <param name="config">Настройки приложения из файла Config.config</param> public TelegramBot(ILogger logger, IAdReader adReader, IConfig config) { _ad = adReader; _logger = logger; _config = config; _logger.Log("Starting Bot...", OutputTarget.Console); }
/// <summary> /// Ответ на запрос о получении оповещений об изменениях в Active Directory /// </summary> /// <param name="message">Запрос в виде списка подстрок</param> /// <param name="ad">Контекст подключения к Active Directory</param> /// <param name="config">Настройки приложения из файла Config.config</param> /// <param name="userId">Id пользователя, отправившего запрос в чате</param> public ResponseSignIn(List <string> message, IAdReader ad, IConfig config, int userId) { MessagesIn = message; _ad = ad; _config = config; _userId = userId; NeedToClean = true; }
public void Init(params IComponent[] decorators) { HelpMessage.MsgList = new List <string>(); _decorators = decorators; _logger = _decorators?.OfType <ILogger>().FirstOrDefault(); _config = _decorators?.OfType <IConfig>().FirstOrDefault(); _ad = _decorators?.OfType <IAdReader>().FirstOrDefault(); _services[0].Component = new TelegramBot(_logger, _ad, _config); _services.LastOrDefault()?.Init(decorators); }
/// <summary> /// Ответ на запрос информации о пользователе Active Directory по его имени /// </summary> /// <param name="message">Запрос в виде подстрок</param> /// <param name="ad">Контекст подключения к Active Directory</param> public ResponseUserByName(List <string> message, IAdReader ad) { MessagesIn = message; _ad = ad; }
/// <summary> /// Включение и отключение оповещений об изменениях в Active Directory /// </summary> /// <param name="userId">Id пользователя, отправившего завпрос в чате</param> /// <param name="config">Настройки приложения из файла Config.config</param> /// <param name="ad">Контекст подключения к Active Directory</param> public Subscriber(int userId, IConfig config, IAdReader ad) { _telegramUserId = userId; _config = (Config)config; _ad = ad; }
/// <summary> /// Ответ на запрос об отказе от получения оповещений об изменениях в Active Directory /// </summary> /// <param name="ad">Контекст подключения к Active Directory</param> /// <param name="config">Настройки приложения из файла Config.config</param> /// <param name="userId">Id пользователя, отправившего запрос в чате</param> public ResponseSignOut(IAdReader ad, IConfig config, int userId) { _ad = ad; _config = config; _userId = userId; }