diff --git a/xmpp/handlers.go b/xmpp/handlers.go index 52f0071..07a8eec 100644 --- a/xmpp/handlers.go +++ b/xmpp/handlers.go @@ -689,18 +689,24 @@ func tryHandleMUCPresence(s xmpp.Sender, p stanza.Presence) { switch p.Type { case "": - handleMUCNicknameChange(component, p, session, chatId, toBare) + if p.Show == "" { + handleMUCNicknameChange(component, p, session, chatId, toBare, nickname) + } case stanza.PresenceTypeUnavailable: handleMUCUnavailable(component, p, session, chatId, fromResource) } } -func handleMUCNicknameChange(component *xmpp.Component, p stanza.Presence, session *telegram.Client, chatId int64, toBare string) { +func handleMUCNicknameChange(component *xmpp.Component, p stanza.Presence, session *telegram.Client, chatId int64, toBare string, newNickname string) { log.Warn("🗿 Yes") from := toBare nickname, ok := session.GetMyMUCNickname(chatId) if ok { + if nickname == newNickname { + log.Warn("But whatever, it's the same") + return + } from = from+"/"+nickname } reply := &stanza.Presence{