err = NotifyAccountMessager(member.Account,fmt.Sprintf("%s started a new cal⬆️ Upgrade the Passport notify module
fmt.Sprintf("Call in #%s", channel.Alias),false,)if err != nil {
			
			
This commit is contained in:
		| @@ -31,19 +31,20 @@ func GetAccountFriend(userId, relatedId uint, status int) (*proto.FriendshipResp | ||||
| 	}) | ||||
| } | ||||
|  | ||||
| func NotifyAccount(user models.Account, subject, content string, realtime bool, links ...*proto.NotifyLink) error { | ||||
| func NotifyAccountMessager(user models.Account, subject, content string, realtime bool, forcePush bool, links ...*proto.NotifyLink) error { | ||||
| 	ctx, cancel := context.WithTimeout(context.Background(), time.Second*5) | ||||
| 	defer cancel() | ||||
|  | ||||
| 	_, err := grpc.Notify.NotifyUser(ctx, &proto.NotifyRequest{ | ||||
| 		ClientId:     viper.GetString("identity.client_id"), | ||||
| 		ClientSecret: viper.GetString("identity.client_secret"), | ||||
| 		ClientId:     viper.GetString("passport.client_id"), | ||||
| 		ClientSecret: viper.GetString("passport.client_secret"), | ||||
| 		Type:         "notifications.messaging", | ||||
| 		Subject:      subject, | ||||
| 		Content:      content, | ||||
| 		Links:        links, | ||||
| 		RecipientId:  uint64(user.ExternalID), | ||||
| 		IsRealtime:   realtime, | ||||
| 		IsImportant:  false, | ||||
| 		IsForcePush:  forcePush, | ||||
| 	}) | ||||
|  | ||||
| 	return err | ||||
|   | ||||
| @@ -99,15 +99,14 @@ func NewCall(channel models.Channel, founder models.ChannelMember) (models.Call, | ||||
| 		call, _ = GetCall(call.Channel, call.ID) | ||||
| 		for _, member := range members { | ||||
| 			if member.ID != call.Founder.ID { | ||||
| 				if member.Notify == models.NotifyLevelAll { | ||||
| 					err = NotifyAccount(member.Account, | ||||
| 						fmt.Sprintf("New Call #%s", channel.Alias), | ||||
| 						fmt.Sprintf("%s starts a new call", call.Founder.Account.Name), | ||||
| 						false, | ||||
| 					) | ||||
| 					if err != nil { | ||||
| 						log.Warn().Err(err).Msg("An error occurred when trying notify user.") | ||||
| 					} | ||||
| 				err = NotifyAccountMessager(member.Account, | ||||
| 					fmt.Sprintf("Call in #%s", channel.Alias), | ||||
| 					fmt.Sprintf("%s started a new call", call.Founder.Account.Name), | ||||
| 					false, | ||||
| 					true, | ||||
| 				) | ||||
| 				if err != nil { | ||||
| 					log.Warn().Err(err).Msg("An error occurred when trying notify user.") | ||||
| 				} | ||||
| 			} | ||||
| 			PushCommand(member.AccountID, models.UnifiedCommand{ | ||||
|   | ||||
| @@ -90,15 +90,19 @@ func NewMessage(message models.Message) (models.Message, error) { | ||||
| 				case models.NotifyLevelNone: | ||||
| 					continue | ||||
| 				case models.NotifyLevelMentioned: | ||||
| 					if val, ok := message.Content["metioned_users"]; ok { | ||||
| 					if member.ID == message.ReplyTo.SenderID { | ||||
| 						break | ||||
| 					} | ||||
| 					if val, ok := message.Content["mentioned_users"]; ok { | ||||
| 						if usernames, ok := val.([]string); ok { | ||||
| 							if lo.Contains(usernames, member.Account.Name) { | ||||
| 								break | ||||
| 							} | ||||
| 						} | ||||
| 					} | ||||
|  | ||||
| 					continue | ||||
| 				default: | ||||
| 					break | ||||
| 				} | ||||
|  | ||||
| 				var displayText string | ||||
| @@ -112,10 +116,11 @@ func NewMessage(message models.Message) (models.Message, error) { | ||||
| 					displayText = fmt.Sprintf("%d attachment(s)", len(message.Attachments)) | ||||
| 				} | ||||
|  | ||||
| 				err = NotifyAccount(member.Account, | ||||
| 					fmt.Sprintf("New Message #%s", channel.Alias), | ||||
| 					fmt.Sprintf("%s: %s", message.Sender.Account.Name, displayText), | ||||
| 				err = NotifyAccountMessager(member.Account, | ||||
| 					fmt.Sprintf("%s in #%s", message.Sender.Account.Nick, channel.Alias), | ||||
| 					fmt.Sprintf("%s", displayText), | ||||
| 					true, | ||||
| 					false, | ||||
| 				) | ||||
| 				if err != nil { | ||||
| 					log.Warn().Err(err).Msg("An error occurred when trying notify user.") | ||||
|   | ||||
		Reference in New Issue
	
	Block a user