示例#1
0
        public void EnsureConstructs_a_UserApi_instance()
        {
            var podApiFactory = new PodApiFactory("https://pod");
            var result        = podApiFactory.CreateUserApi(_userSessionManager);

            Assert.NotNull(result);
        }
        private void StartupSymphonyBot()
        {
            // Symphony start up boilerplate start

            SymphonyOSS.RestApiClient.Generated.OpenApi.PodApi.Client.Configuration.Default =
                new SymphonyOSS.RestApiClient.Generated.OpenApi.PodApi.Client.Configuration(timeout: config_.TimeoutInMillis);
            SymphonyOSS.RestApiClient.Generated.OpenApi.AuthenticatorApi.Client.Configuration.Default =
                new SymphonyOSS.RestApiClient.Generated.OpenApi.AuthenticatorApi.Client.Configuration(timeout: config_.TimeoutInMillis);
            SymphonyOSS.RestApiClient.Generated.OpenApi.AgentApi.Client.Configuration.Default =
                new SymphonyOSS.RestApiClient.Generated.OpenApi.AgentApi.Client.Configuration(timeout: config_.TimeoutInMillis);

            var certificate = new X509Certificate2(
                config_.BotCertificateFilePath,
                config_.BotCertificatePassword);
            var sessionManager = new UserSessionManager(
                string.Format("{0}/sessionauth/", config_.BaseApiUrl),
                string.Format("{0}/keyauth/", config_.BaseApiUrl),
                certificate);
            var agentApiFactory = new AgentApiFactory(
                string.Format("{0}/agent", config_.BaseApiUrl));
            var podApiBaseUrl = string.Format("{0}/pod", config_.BasePodUrl);
            var podApiFactory = new PodApiFactory(podApiBaseUrl);

            // Symphony start up boilerplate end

            // create a data feed API to listen for chat messages
            datafeedApi_            = agentApiFactory.CreateDatafeedApi(sessionManager);
            datafeedApi_.OnMessage += OnMessageReceived;

            // create streams API to initiate chats
            streamsApi_ = podApiFactory.CreateStreamsApi(sessionManager);

            // create messages API to send messages
            messagesApi_ = agentApiFactory.CreateMessagesApi(sessionManager);

            // create users API to resolve users by e-mail or id
            usersApi_ = podApiFactory.CreateUsersApi(sessionManager);

            // start listening for messages from out bot
            // NB: Listen() is blocking, so run on a dedicated thread
            Task.Factory.StartNew(datafeedApi_.Listen, TaskCreationOptions.LongRunning);
        }