/// <summary> /// Send a presence update to the server. Use the properies Show, Status and priority to update presence information /// </summary> /// <param name="stanzaSender"><see cref="IStanzaSender"/></param> /// <param name="show"></param> /// <returns></returns> public static async Task SendPresenceAsync(this IStanzaSender stanzaSender, Show show) { await stanzaSender.SendAsync(new Presence { Show = show }); }
/// <summary> /// Deny a subscription request /// </summary> /// <param name="stanzaSender"><see cref="IStanzaSender"/></param> /// <param name="to">The <see cref="Jid"/> to deny</param> /// <returns></returns> public static async Task DenySubscriptionRequestAsync(this IStanzaSender stanzaSender, Jid to) { var pres = new Presence { Type = PresenceType.Unsubscribed, To = to }; await stanzaSender.SendAsync(pres); }
/// <summary> /// Unsubscribe from the presence of a user /// </summary> /// <param name="stanzaSender"><see cref="IStanzaSender"/></param> /// <param name="to">The <see cref="Jid"/> to unsubscribe</param> /// <returns></returns> public static async Task UnsubscribeAsync(this IStanzaSender stanzaSender, Jid to) { var pres = new Presence { Type = PresenceType.Unsubscribe, To = to }; await stanzaSender.SendAsync(pres); }
/// <summary> /// Send a presence update to the server. Use the properies Show, Status and priority to update presence information /// </summary> /// <param name="stanzaSender"><see cref="IStanzaSender"/></param> /// <param name="show"></param> /// <param name="status"></param> /// <returns></returns> public static async Task SendPresenceAsync(this IStanzaSender stanzaSender, Show show, string status) { await stanzaSender.SendAsync(new Presence { Show = show, Status = status }); }
/// <summary> /// Send a presence update to the server. Use the properies Show, Status and priority to update presence information /// </summary> /// <param name="stanzaSender"><see cref="IStanzaSender"/></param> /// <param name="show"></param> /// <param name="status"></param> /// <param name="priority"></param> /// <returns></returns> public static async Task SendPresenceAsync(this IStanzaSender stanzaSender, Show show, string status, int priority) { await stanzaSender.SendAsync(new Presence { Show = show, Status = status, Priority = priority }); }
/// <summary> /// Send a chat message /// </summary> /// <param name="stanzaSender"><see cref="IStanzaSender"/></param> /// <param name="to">The recipient of the message</param> /// <param name="text">The text of the message</param> /// <param name="autoGenerateMessageId">Should an id be automatically generated for the message?</param> /// <returns></returns> public static async Task SendChatMessageAsync(this IStanzaSender stanzaSender, Jid to, string text, bool autoGenerateMessageId) { var msg = new Message { Type = MessageType.Chat, To = to, Body = text }; if (autoGenerateMessageId) { msg.Id = Id.GenerateShortGuid(); } await stanzaSender.SendAsync(msg); }
/// <summary> /// Send a request to subscribe to a users's presence /// </summary> /// <param name="stanzaSender"><see cref="IStanzaSender"/></param> /// <param name="to">The users bare jid we want to subscribe to</param> /// <param name="message">optional message we want to send to the user with the request</param> /// <param name="nickname">our nickname which we can send optional to the user</param> /// <returns></returns> public static async Task SubscribeAsync(this IStanzaSender stanzaSender, Jid to, string message = null, string nickname = null) { var pres = new Presence { Type = PresenceType.Subscribe, To = to }; if (!String.IsNullOrEmpty(nickname)) { pres.Nick = nickname; } if (!String.IsNullOrEmpty(message)) { pres.Status = message; } await stanzaSender.SendAsync(pres); }
/// <summary> /// Cancel a previously-granted subscription request to a user /// </summary> /// <param name="stanzaSender"><see cref="IStanzaSender"/></param> /// <param name="to">The <see cref="Jid"/> to cancel</param> /// <returns></returns> public static async Task CancelSubscriptionAsync(this IStanzaSender stanzaSender, Jid to) { await DenySubscriptionRequestAsync(stanzaSender, to); }
/// <summary> /// Send a presence update to the server. Use the properies Show, Status and priority to update presence information /// </summary> /// <param name="stanzaSender"><see cref="IStanzaSender"/></param> /// <returns></returns> public static async Task SendPresenceAsync(this IStanzaSender stanzaSender) { await stanzaSender.SendAsync(new Presence()); }
/// <summary> /// Send a presence update to the server. /// </summary> /// <param name="stanzaSender"><see cref="IStanzaSender"/></param> /// <param name="pres">The presence stanza which gets sent to the server.</param> /// <returns></returns> public static async Task SendPresenceAsync(this IStanzaSender stanzaSender, Presence pres) { Contract.Requires <ArgumentNullException>(pres != null, $"{nameof(pres)} cannot be null"); await stanzaSender.SendAsync(pres); }
/// <summary> /// Send a chat message /// </summary> /// <param name="stanzaSender"><see cref="IStanzaSender"/></param> /// <param name="to"></param> /// <param name="text"></param> /// <returns></returns> public static async Task SendChatMessageAsync(this IStanzaSender stanzaSender, Jid to, string text) { await stanzaSender.SendAsync(new Message { Type = MessageType.Chat, To = to, Body = text }); }
/// <summary> /// Send a message /// </summary> /// <param name="stanzaSender"><see cref="IStanzaSender"/></param> /// <param name="msg"the <see cref="Message"/>></param> /// <returns></returns> public static async Task SendMessageAsync(this IStanzaSender stanzaSender, Message msg) { await stanzaSender.SendAsync(msg); }