diff options
author | Bohdan Horbeshko <bodqhrohro@gmail.com> | 2023-09-18 07:02:49 +0300 |
---|---|---|
committer | Bohdan Horbeshko <bodqhrohro@gmail.com> | 2023-09-18 07:02:49 +0300 |
commit | 4249a8bf41513f14bdeead32c6cbc00389f9db74 (patch) | |
tree | 2209164249d76e3e19a0d5d10f5ba7d5d98f4bdf | |
parent | f99f4f6acc6734ecbd0da80015285e6b3d39fdd8 (diff) |
Suppress nickname presences for MUCs better
-rw-r--r-- | telegram/handlers.go | 6 | ||||
-rw-r--r-- | telegram/utils.go | 4 |
2 files changed, 9 insertions, 1 deletions
diff --git a/telegram/handlers.go b/telegram/handlers.go index 0d1cda9..71b55bc 100644 --- a/telegram/handlers.go +++ b/telegram/handlers.go @@ -315,10 +315,14 @@ func (c *Client) updateMessageSendFailed(update *client.UpdateMessageSendFailed) // chat title changed func (c *Client) updateChatTitle(update *client.UpdateChatTitle) { + chat, user, _ := c.GetContactByID(update.ChatId, nil) + if c.Session.MUC && c.IsGroup(chat) { + return + } + gateway.SetNickname(c.jid, strconv.FormatInt(update.ChatId, 10), update.Title, c.xmpp) // set also the status (for group chats only) - chat, user, _ := c.GetContactByID(update.ChatId, nil) if user == nil { c.ProcessStatusUpdate(update.ChatId, update.Title, "chat", gateway.SPImmed(true)) } diff --git a/telegram/utils.go b/telegram/utils.go index 3ab6b88..c12321d 100644 --- a/telegram/utils.go +++ b/telegram/utils.go @@ -1410,6 +1410,10 @@ func (c *Client) subscribeToID(id int64, chat *client.Chat) { chat, _, _ = c.GetContactByID(id, nil) } if chat != nil { + if c.Session.MUC && c.IsGroup(chat) { + return + } + args = append(args, gateway.SPNickname(chat.Title)) gateway.SetNickname(c.jid, strconv.FormatInt(id, 10), chat.Title, c.xmpp) |