/// <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); }
/// <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); }
/// <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)); }