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 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 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 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" }); }
private async void Reload() { scrollRect.ClearItemData(); nameText.text = target.GetNickname(); client = LCManager.Instance.IMClient; client.OnMessage += OnMessage; conversation = await client.CreateConversation(new string[] { target.ObjectId }); // 拉取历史消息 ReadOnlyCollection <LCIMMessage> messages = await conversation.QueryMessages(); foreach (LCIMMessage message in messages) { AddMessage(message); } }