public override bool Handle(XmppConnection sender, XMPPIq element) { if (Stanza.Parse <DiscoItems>(element.Elements().FirstOrDefault()) != null) { sender.Send(element.Reply()); return(true); } return(false); }
public override bool Handle(XmppConnection connection, XMPPIq element) { var info = Stanza.Parse <DiscoInfo>(element.Elements().FirstOrDefault()); if (info != null) { if (info.Node == string.Empty || info.Node == string.Format("{0}#{1}", _capabilities.Node, _capabilities.OurHash)) { info.Identity = _capabilities.Identity; info.Features = _capabilities.Features; info.Node = _capabilities.Node; var reply = element.Reply(); reply.RemoveNodes(); reply.Add(info); connection.Send(reply); return(true); } } return(false); }