Skip to content

Commit ddc6f50

Browse files
authored
login: wrap ratelimit errors from whatsapp (#852)
1 parent e1c3d50 commit ddc6f50

File tree

1 file changed

+7
-0
lines changed

1 file changed

+7
-0
lines changed

pkg/connector/login.go

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -74,6 +74,11 @@ var (
7474
Err: "Phone number must be in international format",
7575
StatusCode: http.StatusBadRequest,
7676
}
77+
ErrRateLimitedByWhatsApp = bridgev2.RespError{
78+
ErrCode: "FI.MAU.WHATSAPP.RATE_LIMITED",
79+
Err: "Rate limited by WhatsApp",
80+
StatusCode: http.StatusTooManyRequests,
81+
}
7782
)
7883

7984
func (wa *WhatsAppConnector) CreateLogin(_ context.Context, user *bridgev2.User, flowID string) (bridgev2.LoginProcess, error) {
@@ -196,6 +201,8 @@ func (wl *WALogin) SubmitUserInput(ctx context.Context, input map[string]string)
196201
return nil, ErrPhoneNumberTooShort
197202
} else if errors.Is(err, whatsmeow.ErrPhoneNumberIsNotInternational) {
198203
return nil, ErrPhoneNumberIsNotInternational
204+
} else if errors.Is(err, whatsmeow.ErrIQRateOverLimit) {
205+
return nil, ErrRateLimitedByWhatsApp
199206
}
200207
return nil, err
201208
}

0 commit comments

Comments
 (0)