Эх сурвалжийг харах

Handle WhatsApp chat create events

Tulir Asokan 5 жил өмнө
parent
commit
2132bc653b
2 өөрчлөгдсөн 3 нэмэгдсэн , 2 устгасан
  1. 1 1
      user.go
  2. 2 1
      whatsapp-ext/chat.go

+ 1 - 1
user.go

@@ -861,7 +861,7 @@ func (user *User) HandleChatUpdate(cmd whatsappExt.ChatUpdate) {
 
 	portal := user.GetPortalByJID(cmd.JID)
 	if len(portal.MXID) == 0 {
-		if cmd.Data.Action == whatsappExt.ChatActionIntroduce && cmd.Data.SenderJID != "unknown" {
+		if cmd.Data.Action == whatsappExt.ChatActionIntroduce || cmd.Data.Action == whatsappExt.ChatActionCreate {
 			go func() {
 				err := portal.CreateMatrixRoom(user)
 				if err != nil {

+ 2 - 1
whatsapp-ext/chat.go

@@ -46,6 +46,7 @@ const (
 	ChatActionPromote     ChatActionType = "promote"
 	ChatActionDemote      ChatActionType = "demote"
 	ChatActionIntroduce   ChatActionType = "introduce"
+	ChatActionCreate      ChatActionType = "create"
 	ChatActionRemove      ChatActionType = "remove"
 	ChatActionAdd         ChatActionType = "add"
 )
@@ -109,7 +110,7 @@ func (cud *ChatUpdateData) UnmarshalJSON(data []byte) error {
 
 	var unmarshalTo interface{}
 	switch cud.Action {
-	case ChatActionIntroduce:
+	case ChatActionIntroduce, ChatActionCreate:
 		err = json.Unmarshal(arr[2], &cud.NameChange)
 		if err != nil {
 			return err