X-Git-Url: https://git.realraum.at/?p=svn42.git;a=blobdiff_plain;f=go%2Fr3-netstatus%2Fr3xmppbot%2Fr3xmppbot.go;fp=go%2Fr3-netstatus%2Fr3xmppbot%2Fr3xmppbot.go;h=141e5418272d4ecc00b1b46463b935b8809f7733;hp=7863b70b61baf19d35a38d27ef55392eee2cf78a;hb=fa43684a042825be410260f547e092be3b432317;hpb=23d4ac6d4f23cff2fcf69ab5277125e39ab9328a diff --git a/go/r3-netstatus/r3xmppbot/r3xmppbot.go b/go/r3-netstatus/r3xmppbot/r3xmppbot.go index 7863b70..141e541 100644 --- a/go/r3-netstatus/r3xmppbot/r3xmppbot.go +++ b/go/r3-netstatus/r3xmppbot/r3xmppbot.go @@ -191,6 +191,7 @@ func (botdata *XmppBot) handleEventsforXMPP(xmppout chan <- xmpp.Stanza, presenc for { select { case pe := <-presence_events: + Debug_.Printf("handleEventsforXMPP<-presence_events: %T %+v", pe, pe) switch pec := pe.(type) { case xmpp.Stanza: xmppout <- pec @@ -219,10 +220,18 @@ func (botdata *XmppBot) handleEventsforXMPP(xmppout chan <- xmpp.Stanza, presenc } case je := <-jabber_events: + Debug_.Printf("handleEventsforXMPP<-jabber_events: %T %+v", je, je) simple_jid := removeJIDResource(je.JID) jid_data, jid_in_map := botdata.realraum_jids_[simple_jid] + + //send status if requested, even if user never changed any settings and thus is not in map + if last_status_msg != nil && je.StatusNow { + xmppout <- botdata.makeXMPPMessage(je.JID, last_status_msg, nil) + } + if jid_in_map { - if last_status_msg != nil && (je.StatusNow || (! jid_data.Online && je.Online && jid_data.Wants == R3OnlineOnlyWithRecapInfo) ) { + //if R3OnlineOnlyWithRecapInfo, we want a status update when coming online + if last_status_msg != nil && ! jid_data.Online && je.Online && jid_data.Wants == R3OnlineOnlyWithRecapInfo { xmppout <- botdata.makeXMPPMessage(je.JID, last_status_msg, nil) } jid_data.Online = je.Online @@ -388,6 +397,7 @@ func NewStartedBot(loginjid, loginpwd, password, state_save_dir string, insecure roster := xmpp.Roster(botdata.xmppclient_) for _, entry := range roster { + Debug_.Print(entry) if entry.Subscription == "from" { botdata.xmppclient_.Out <- botdata.makeXMPPPresence(entry.Jid, "subscribe", "","") }