public void EnsureConstructs_a_UtilApi_instance() { var agentApiFactory = new AgentApiFactory("https://agent"); var result = agentApiFactory.CreateUtilApi(_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); }
static void Main(string[] args) { ILoggerFactory loggerFactory = new LoggerFactory().AddConsole(LogLevel.Debug); ApiLogging.LoggerFactory = loggerFactory; // get the settings file that contains certificate and other information var settingsContents = File.ReadAllText("s:\\settings\\RestApiSettings.json"); var settings = JsonConvert.DeserializeObject <Settings>(settingsContents); var certBytes = Convert.FromBase64String(settings.certificate); X509Certificate2 certificate = new X509Certificate2(certBytes, settings.certificatePassword); var sessionManager = new UserSessionManager(settings.sessionauthUrl, settings.keyauthUrl, certificate); var agentApiFactory = new AgentApiFactory(settings.agentUrl); var messagesApi = agentApiFactory.CreateMessagesApi(sessionManager); var messageSubmit = new MessageSubmit("4O97z9WiybT5llo1u43bWX___qOAkG-edA", "<messageML>hello</messageML>"); messagesApi.PostMessage(messageSubmit); var datafeedApi = agentApiFactory.CreateDatafeedApi(sessionManager); datafeedApi.OnMessage += (sender, e) => { var message = e.Message; Console.WriteLine(message.Body); }; try { datafeedApi.Listen(); } catch (Exception e) { Console.WriteLine(e); } Console.WriteLine("Hello World!"); }