mirror of
https://github.com/EvolutionAPI/evolution-api.git
synced 2025-07-22 12:06:54 -06:00
Merge pull request #739 from fmedeiros95/v2.0.0
Improve reconnection logic for ban and block cases and add disconnection information to BaileysStartupService and Instance model
This commit is contained in:
commit
d0a723b8ef
@ -57,6 +57,9 @@ model Instance {
|
||||
number String? @db.VarChar(100)
|
||||
token String? @unique @db.VarChar(255)
|
||||
clientName String? @db.VarChar(100)
|
||||
disconnectionReasonCode Int? @db.Int
|
||||
disconnectionObject Json? @db.Json
|
||||
disconnectionAt DateTime? @db.Timestamp
|
||||
createdAt DateTime? @default(now()) @db.Timestamp
|
||||
updatedAt DateTime? @updatedAt @db.Timestamp
|
||||
Chat Chat[]
|
||||
|
@ -71,6 +71,9 @@ model Instance {
|
||||
businessId String? @db.VarChar(100)
|
||||
token String? @db.VarChar(255)
|
||||
clientName String? @db.VarChar(100)
|
||||
disconnectionReasonCode Int? @db.Integer
|
||||
disconnectionObject Json? @db.JsonB
|
||||
disconnectionAt DateTime? @db.Timestamp
|
||||
createdAt DateTime? @default(now()) @db.Timestamp
|
||||
updatedAt DateTime? @updatedAt @db.Timestamp
|
||||
Chat Chat[]
|
||||
|
@ -388,13 +388,18 @@ export class BaileysStartupService extends ChannelStartupService {
|
||||
}
|
||||
|
||||
if (connection === 'close') {
|
||||
const shouldReconnect = (lastDisconnect.error as Boom)?.output?.statusCode !== DisconnectReason.loggedOut;
|
||||
const statusCode = (lastDisconnect?.error as Boom)?.output?.statusCode;
|
||||
const codesToNotReconnect = [DisconnectReason.loggedOut, DisconnectReason.forbidden, 402, 406];
|
||||
const shouldReconnect = !codesToNotReconnect.includes(statusCode);
|
||||
if (shouldReconnect) {
|
||||
await this.connectToWhatsapp(this.phoneNumber);
|
||||
} else {
|
||||
this.sendDataWebhook(Events.STATUS_INSTANCE, {
|
||||
instance: this.instance.name,
|
||||
status: 'closed',
|
||||
disconnectionAt: new Date(),
|
||||
disconnectionReasonCode: statusCode,
|
||||
disconnectionObject: JSON.stringify(lastDisconnect),
|
||||
});
|
||||
|
||||
if (this.configService.get<Database>('DATABASE').ENABLED) {
|
||||
@ -402,6 +407,9 @@ export class BaileysStartupService extends ChannelStartupService {
|
||||
where: { id: this.instanceId },
|
||||
data: {
|
||||
connectionStatus: 'close',
|
||||
disconnectionAt: new Date(),
|
||||
disconnectionReasonCode: statusCode,
|
||||
disconnectionObject: JSON.stringify(lastDisconnect),
|
||||
},
|
||||
});
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user