예제 #1
0
        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;
        }
예제 #2
0
        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;
        }
예제 #3
0
        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" });
        }
예제 #4
0
        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() });
        }
예제 #5
0
        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" });
        }
예제 #6
0
    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);
        }
    }