private static void Main() { var botSettings = (BotSettings)ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None).Sections["BotSettings"]; var neo4JSettings = (Neo4JSettings)ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None).Sections["Neo4JSettings"]; IDataLayer dataLayer = new Neo4JDataLayer(neo4JSettings.ConnectionString, neo4JSettings.Username, neo4JSettings.Password); IChatsInfoStorage chatsInfoStorage = new InMemoryChatStorage(); var bot = new Bot(botSettings.ApiKey, dataLayer, chatsInfoStorage); bot.Start(); Console.Read(); }
static void Main(string[] args) { var storage = new InMemoryChatStorage <DemoSharedSecret>(); var secret = new DemoSharedSecret("KundeA", "KundeA_User", "4711Kunde", "In love"); CreateGroupChat("alice", secret); InviteUser("bob", secret, storage); InviteUser("oliver", secret, storage); InviteUser("oliver", secret, storage); InviteUser("leia", secret, storage); Thread.Sleep(TimeSpan.FromSeconds(5)); Chats.Reverse(); foreach (var chat in Chats) { chat.Dispose(); Thread.Sleep(TimeSpan.FromSeconds(1)); } Console.WriteLine("Press return to exit"); Console.ReadLine(); }
private static void InviteUser( string userName, DemoSharedSecret secret, InMemoryChatStorage <DemoSharedSecret> storage) { var queue = ToASCII(Guid.NewGuid().ToByteArray()); // Send the public key over the line (the server is initiating this) var rabbitServer = new SimpleServerWelcomeConnection("localhost", queue, secret, storage); rabbitServer.Connect(); rabbitServer.InitiateHandshake("alice"); rabbitServer.WaitForHandshake(); // Receive the public key from that channel var rabbitPhone = new SimpleClientWelcomeConnection("localhost", queue); rabbitPhone.OnSharedKeyExchanged += AddUserToGroupChat; rabbitPhone.Connect(); rabbitPhone.InitiateHandshake(userName); rabbitPhone.WaitForHandshake(); }