Exemplo n.º 1
0
        /// <summary>
        /// Sends a MUCChangeNicknameMessage for changing your own MUC nickname.
        /// </summary>
        /// <param name="roomJid">The bare JID if the room you would like to change your nickname for. e.g. '*****@*****.**'</param>
        /// <param name="newNickname">The new nickname for the given room.</param>
        /// <param name="onMessage">The method that should get executed once the helper receives a new valid message.</param>
        /// <param name="onTimeout">The method that should get executed once the helper timeout gets triggered.</param>
        /// <returns>Returns a MessageResponseHelper listening for MUCChangeNicknameMessage answers.</returns>
        public MessageResponseHelper <PresenceMessage> changeNickname(string roomJid, string newNickname, MessageResponseHelper <PresenceMessage> .OnMessageHandler onMessage, MessageResponseHelper <PresenceMessage> .OnTimeoutHandler onTimeout)
        {
            MessageResponseHelper <PresenceMessage> helper = new MessageResponseHelper <PresenceMessage>(CONNECTION, onMessage, onTimeout)
            {
                matchId = false
            };
            MUCChangeNicknameMessage msg = new MUCChangeNicknameMessage(CONNECTION.account.getFullJid(), roomJid, newNickname);

            helper.start(msg);
            return(helper);
        }
Exemplo n.º 2
0
        /// <summary>
        /// Sends a MUCChangeNicknameMessage for changing your own MUC nickname.
        /// </summary>
        /// <param name="roomJid">The bare JID if the room you would like to change your nickname for. e.g. '*****@*****.**'</param>
        /// <param name="newNickname">The new nickname for the given room.</param>
        /// <param name="onMessage">The method that should get executed once the helper receives a new valid message.</param>
        /// <param name="onTimeout">The method that should get executed once the helper timeout gets triggered.</param>
        /// <returns>Returns a MessageResponseHelper listening for MUCChangeNicknameMessage answers.</returns>
        public MessageResponseHelper <PresenceMessage> changeNickname(string roomJid, string newNickname, Func <PresenceMessage, bool> onMessage, Action onTimeout)
        {
            MessageResponseHelper <PresenceMessage> helper = new MessageResponseHelper <PresenceMessage>(CLIENT, onMessage, onTimeout)
            {
                matchId = false
            };
            MUCChangeNicknameMessage msg = new MUCChangeNicknameMessage(CLIENT.getXMPPAccount().getIdDomainAndResource(), roomJid, newNickname);

            helper.start(msg);
            return(helper);
        }
Exemplo n.º 3
0
        /// <summary>
        /// Sends a MUCChangeNicknameMessage for changing your own MUC nickname.
        /// </summary>
        /// <param name="roomJid">The bare JID if the room you would like to change your nickname for. e.g. '*****@*****.**'</param>
        /// <param name="newNickname">The new nickname for the given room.</param>
        /// <returns>Returns a MessageResponseHelper listening for MUCChangeNicknameMessage answers.</returns>
        public async Task <MessageResponseHelperResult <MUCMemberPresenceMessage> > changeNicknameAsync(string roomJid, string newNickname)
        {
            Predicate <MUCMemberPresenceMessage> predicate = (x) =>
            {
                return(x.getFrom().Contains(roomJid) &&
                       ((x.STATUS_CODES.Contains(MUCPresenceStatusCode.PRESENCE_SELFE_REFERENCE) && x.STATUS_CODES.Contains(MUCPresenceStatusCode.MEMBER_NICK_CHANGED)) ||
                        (x.STATUS_CODES.Contains(MUCPresenceStatusCode.PRESENCE_SELFE_REFERENCE) && x.STATUS_CODES.Contains(MUCPresenceStatusCode.ROOM_NICK_CHANGED)) ||
                        !string.IsNullOrEmpty(x.ERROR_TYPE)));
            };
            AsyncMessageResponseHelper <MUCMemberPresenceMessage> helper = new AsyncMessageResponseHelper <MUCMemberPresenceMessage>(CONNECTION, predicate)
            {
                matchId = false
            };
            MUCChangeNicknameMessage msg = new MUCChangeNicknameMessage(CONNECTION.account.getFullJid(), roomJid, newNickname);

            return(await helper.startAsync(msg));
        }