Handle x-roomuser-item queries

This commit is contained in:
Bohdan Horbeshko 2025-05-19 13:46:34 -04:00
parent f1b5774490
commit 4d85e36bbf

View file

@ -908,6 +908,20 @@ func handleGetDiscoInfo(s xmpp.Sender, iq *stanza.IQ, di *stanza.DiscoInfo) {
disco.AddFeatures("jabber:iq:register") disco.AddFeatures("jabber:iq:register")
} }
disco.AddFeatures(gateway.NSCommand) disco.AddFeatures(gateway.NSCommand)
} else if di.Node == "x-roomuser-item" {
bare, _, fromOk := gateway.SplitJID(iq.From)
if fromOk {
session, sessionOk := sessions[bare]
if sessionOk && session.Session.MUC {
if toOk && toIsGroup {
chat, _, err := session.GetContactByID(toID, nil)
if err == nil && session.IsGroup(chat) {
disco.SetNode(di.Node)
disco.AddIdentity(session.GetMUCNickname(0), "conference", "text")
}
}
}
}
} else { } else {
chatType, chatTypeErr := getTelegramChatType(iq.From, iq.To) chatType, chatTypeErr := getTelegramChatType(iq.From, iq.To)