0

私はこれを何年もデバッグしようとしてきました。しかし、それを会議に送信することはできません。通常のチャットでの送信は機能します。しかし、会議ではありません。これが私のコードです。

_connection.Send(new agsXMPP.protocol.client.Message(new Jid(CurrentContactWindow.Jid), MessageType.chat, Txt_Message.Text));

このコードを使用して、通常のチャットで jid を取得します。

void XmppCon_OnMessage(object sender, agsXMPP.protocol.client.Message msg)
    {
        if (msg.Body != null)
        {
            if (msg.Type == MessageType.groupchat)
            {
                System.Windows.Application.Current.Dispatcher.Invoke(DispatcherPriority.Normal, (Action)delegate()
                {
                    _groupMessageView.Add(new GroupMessageView() { Name = msg.From, Message = msg.Body, IsMe = false, DateCreated = DateTime.Now });
                });
                ConstructChatView(false);
            }
            else
            {//this is for normal chat
                var emailMatches = new Regex(@"\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*", RegexOptions.IgnoreCase).Matches(new Jid(msg.From.ToString()));
                var fromJid = emailMatches.Count > 0 ? emailMatches[0].ToString() : "";

                var message = new Nesv.vChat.Domain.Models.Message()
                {
                    GroupName = fromJid,
                    From = fromJid,
                    Body = msg.Body,
                    IsFromMe = false
                };
                UpdateMessageOnWindow(message);
            }
        }

        if (msg.Type == MessageType.normal)
        {
            try
            {
                var conference = (Conference)msg.LastNode;
                var chatroom = conference.Chatroom;
                var mucManager = new MucManager(_connection);
                mucManager.JoinRoom(chatroom, _connection.Username, true);


                //Get users
                _connection.PresenceGrabber.Add(chatroom, new PresenceCB(PresenceCallback), null);

                System.Windows.Application.Current.Dispatcher.Invoke(DispatcherPriority.Normal, (Action)delegate()
                {//this is for conference/groupchat
                    _contactView.Add(new ContactView() { Jid = msg.From, Name = chatroom.User, isGroupChat = true });
                });


               // mucManager.

                // sample send message
                //_connection.Send(new agsXMPP.protocol.client.Message(chatroom, MessageType.groupchat, "XOXOXOXOXOX"));
            }
            catch { }
        }
        PrintEvent(msg.Body);
    }

何か案は?ありがとう!

4

1 に答える 1