public async Task CreateConversation() { TaskCompletionSource <object> tcs = new TaskCompletionSource <object>(); string clientId = Guid.NewGuid().ToString(); LCIMClient client = new LCIMClient(clientId); await client.Open(); client.OnInvited = (conv, initBy) => { WriteLine($"on invited: {initBy}"); WriteLine(conv.CreatorId); }; client.OnMembersJoined = (conv, memberList, initBy) => { WriteLine($"on members joined: {initBy}"); foreach (string memberId in conv.MemberIds) { WriteLine(memberId); } tcs.SetResult(null); }; string name = Guid.NewGuid().ToString(); LCIMConversation conversation = await client.CreateConversation(new string[] { "world" }, name : name, unique : false); await tcs.Task; }
public async Task Unread() { TaskCompletionSource <object> tcs = new TaskCompletionSource <object>(); string clientId = Guid.NewGuid().ToString(); LCIMClient client = new LCIMClient(clientId); LCIMConversation conversation = await m1.CreateConversation(new string[] { clientId }); LCIMTextMessage textMessage = new LCIMTextMessage("hello"); await conversation.Send(textMessage); client.OnUnreadMessagesCountUpdated = (convs) => { foreach (LCIMConversation conv in convs) { WriteLine($"unread count: {conv.Unread}"); //Assert.AreEqual(conv.Unread, 1); //Assert.True(conv.LastMessage is LCIMTextMessage); //LCIMTextMessage textMsg = conv.LastMessage as LCIMTextMessage; //Assert.AreEqual(textMsg.Text, "hello"); } }; await client.Open(); client.OnMessage = (conv, msg) => { WriteLine($"unread count: {conv.Unread}"); Assert.AreEqual(conv.Unread, 2); Assert.True(conv.LastMessage is LCIMTextMessage); LCIMTextMessage textMsg = conv.LastMessage as LCIMTextMessage; Assert.AreEqual(textMsg.Text, "world"); tcs.SetResult(true); }; textMessage = new LCIMTextMessage("world"); await conversation.Send(textMessage); await tcs.Task; }
public async Task SetUp() { Utils.SetUp(); m1 = new LCIMClient("m1"); m2 = new LCIMClient("m2"); await m1.Open(); await m2.Open(); conversation = await m1.CreateConversation(new string[] { "m2" }); }
public async Task SetUp() { Utils.SetUp(); c1 = new LCIMClient(Guid.NewGuid().ToString()); c2 = new LCIMClient(Guid.NewGuid().ToString()); await c1.Open(); await c2.Open(); conversation = await c1.CreateConversation(new string[] { Guid.NewGuid().ToString() }); }
public async Task OpenAndClose() { LCIMClient c1 = new LCIMClient("c1"); LCIMClient c2 = new LCIMClient("c2"); await c1.Open(); await c2.Open(); await c1.Close(); await c2.Close(); }
public async Task <LCUser> Login(string token) { try { User = await LCUser.BecomeWithSessionToken(token); IMClient = new LCIMClient(User); await IMClient.Open(); return(User); } catch (LCException e) { LCUtils.LogException(e); throw e; } }
public async Task <LCUser> Login(string username, string password) { try { User = await LCUser.Login(username, password); IMClient = new LCIMClient(User); await IMClient.Open(); return(User); } catch (LCException e) { LCUtils.LogException(e); throw e; } }
public async Task SetUp() { Utils.SetUp(); c1 = new LCIMClient(Guid.NewGuid().ToString()); await c1.Open(); c2 = new LCIMClient(Guid.NewGuid().ToString()); await c2.Open(); lean = new LCIMClient("lean"); await lean.Open(); conversation = await c1.CreateConversation(new string[] { "lean", "cloud" }); }
public async Task OpenAndCloseByLCUser() { LCUser user = await LCUser.Login(USERNAME1, PASSWORD1); LCIMClient client = new LCIMClient(user); await client.Open(); LCUser game = await LCUser.Login(USERNAME2, PASSWORD2); LCIMClient client2 = new LCIMClient(game); await client2.Open(); await client.Close(); await client2.Close(); }
public async Task <LCUser> Register(string username, string password) { try { LCUser user = new LCUser { Username = username, Password = password }; await user.SignUp(); IMClient = new LCIMClient(user); await IMClient.Open(); return(user); } catch (LCException e) { LCUtils.LogException(e); throw e; } }
static void Main(string[] args) { WriteLine("Hello World!"); SingleThreadSynchronizationContext.Run(async() => { LCLogger.LogDelegate += Print; LCApplication.Initialize("ikGGdRE2YcVOemAaRbgp1xGJ-gzGzoHsz", "NUKmuRbdAhg1vrb2wexYo1jo", "https://ikggdre2.lc-cn-n1-shared.com"); LCIMClient client = new LCIMClient("lean") { OnPaused = () => { WriteLine("~~~~~~~~~~~~~~~ disconnected"); }, OnResume = () => { WriteLine("~~~~~~~~~~~~~~~ reconnected"); } }; await client.Open(); int count = 0; while (count < 2) { WriteLine($"pause : {count}"); await Task.Delay(5 * 1000); LCRealtime.Pause(); await Task.Delay(5 * 1000); LCRealtime.Resume(); await Task.Delay(5 * 1000); count++; } try { await client.Close(); // Done } catch (Exception e) { WriteLine($"xxxxxxxxxxxx {e.Message}"); } }); }
public async Task CreateChatRoom() { string clientId = Guid.NewGuid().ToString(); LCIMClient client = new LCIMClient(clientId); await client.Open(); client.OnInvited = (conv, initBy) => { WriteLine($"on invited: {initBy}"); }; string name = Guid.NewGuid().ToString(); LCIMConversation conversation = await client.CreateChatRoom(name); string visitorId = Guid.NewGuid().ToString(); LCIMClient visitor = new LCIMClient(visitorId); await visitor.Open(); LCIMChatRoom chatRoom = await visitor.GetConversation(conversation.Id) as LCIMChatRoom; await chatRoom.Join(); LCIMTextMessage textMessage = new LCIMTextMessage("hello, world"); await conversation.Send(textMessage); int count = await chatRoom.GetMembersCount(); ReadOnlyCollection <string> onlineMembers = await chatRoom.GetOnlineMembers(); Assert.GreaterOrEqual(onlineMembers.Count, 1); foreach (string memberId in onlineMembers) { WriteLine($"{memberId} online"); } await client.Close(); await visitor.Close(); }
public async Task CreateTemporaryConversation() { TaskCompletionSource <object> tcs = new TaskCompletionSource <object>(); string clientId = Guid.NewGuid().ToString(); LCIMClient client = new LCIMClient(clientId); await client.Open(); client.OnInvited = (conv, initBy) => { WriteLine($"on invited: {initBy}"); }; client.OnMembersJoined = (conv, memberList, initBy) => { WriteLine($"on members joined: {initBy}"); tcs.SetResult(null); }; await client.CreateTemporaryConversation(new string[] { "world" }); await tcs.Task; }
public async Task SetUp() { Utils.SetUp(); client = new LCIMClient(clientId); await client.Open(); }