public async Task When_subscribing_to_channel_sub_with_client() { // Act await _driver.SubscribeToRoomAsync(); // Assert await _mockClient.Received().SubscribeAsync("stream-messages", CancellationToken, null, "10"); }
private static async Task MainAsync() { const string username = "******"; const string password = "******"; const string rocketServerUrl = "dev0:3000"; // just the host and port const bool useSsl = false; // Basically use ws or wss. // Basic logger ILogger logger = new ConsoleLogger(); // Create the rocket driver - will connect the the server using websockets _driver = new RocketChatDriver(rocketServerUrl, useSsl, logger); // Request connection to Rocket.Chat await _driver.ConnectAsync(); // Login with a email address (opposed to logging in with LDAP or Username) await _driver.LoginWithEmailAsync(username, password); // Most rooms have a GUID - GENERAL is always called GENERAL string roomId = await _driver.GetRoomIdAsync("GENERAL"); // Join the room if not already joined await _driver.JoinRoomAsync(roomId); // Start listening for messages // Don't specify a roomId if you want to listen on all channels await _driver.SubscribeToRoomAsync(roomId); // Create the bot - an abstraction of the driver RocketChatBot bot = new RocketChatBot(_driver, logger); // Add possible responses to be checked in order // This is not thead safe, FYI IBotResponse giphyResponse = new GiphyResponse(); bot.AddResponse(giphyResponse); // And that's it // Checkout GiphyResponse in the example project for more info. }