module Network.Xmpp.Stanza where
import Data.XML.Types
import Network.Xmpp.Types
presenceSubscribe :: Jid -> Presence
presenceSubscribe to = presence { presenceTo = Just to
, presenceType = Subscribe
}
presenceSubscribed :: Jid -> Presence
presenceSubscribed to = presence { presenceTo = Just to
, presenceType = Subscribed
}
presenceUnsubscribe :: Jid -> Presence
presenceUnsubscribe to = presence { presenceTo = Just to
, presenceType = Unsubscribed
}
presenceOnline :: Presence
presenceOnline = presence
presenceOffline :: Presence
presenceOffline = presence {presenceType = Unavailable}
answerMessage :: Message -> [Element] -> Maybe Message
answerMessage Message{messageFrom = Just frm, ..} payload =
Just Message{ messageFrom = Nothing
, messageID = Nothing
, messageTo = Just frm
, messagePayload = payload
, ..
}
answerMessage _ _ = Nothing
presTo :: Presence -> Jid -> Presence
presTo pres to = pres{presenceTo = Just to}