diff --git a/package.json b/package.json index 9946c585..e7fb2a77 100644 --- a/package.json +++ b/package.json @@ -8,8 +8,8 @@ "build": "tsc --noEmit && tsup", "start": "tsnd -r tsconfig-paths/register --files --transpile-only ./src/main.ts", "start:prod": "node dist/main", - "dev:server": "clear && tsnd -r tsconfig-paths/register --files --transpile-only --respawn --ignore-watch node_modules ./src/main.ts", - "test": "clear && tsnd -r tsconfig-paths/register --files --transpile-only --respawn --ignore-watch node_modules ./test/all.test.ts", + "dev:server": "tsnd -r tsconfig-paths/register --files --transpile-only --respawn --ignore-watch node_modules ./src/main.ts", + "test": "tsnd -r tsconfig-paths/register --files --transpile-only --respawn --ignore-watch node_modules ./test/all.test.ts", "lint": "eslint --fix --ext .ts src", "db:generate": "node runWithProvider.js \"npx prisma generate --schema ./prisma/DATABASE_PROVIDER-schema.prisma\"", "db:deploy": "node runWithProvider.js \"rm -rf ./prisma/migrations && cp -r ./prisma/DATABASE_PROVIDER-migrations ./prisma/migrations && npx prisma migrate deploy --schema ./prisma/DATABASE_PROVIDER-schema.prisma\"", diff --git a/src/api/integrations/chatbot/dify/controllers/dify.controller.ts b/src/api/integrations/chatbot/dify/controllers/dify.controller.ts index 809d3ceb..96c44a7e 100644 --- a/src/api/integrations/chatbot/dify/controllers/dify.controller.ts +++ b/src/api/integrations/chatbot/dify/controllers/dify.controller.ts @@ -64,17 +64,25 @@ export class DifyController extends ChatbotController implements ChatbotControll }, }); - if (!data.expire) data.expire = defaultSettingCheck?.expire || 0; - if (!data.keywordFinish) data.keywordFinish = defaultSettingCheck?.keywordFinish || ''; - if (!data.delayMessage) data.delayMessage = defaultSettingCheck?.delayMessage || 1000; - if (!data.unknownMessage) data.unknownMessage = defaultSettingCheck?.unknownMessage || ''; - if (!data.listeningFromMe) data.listeningFromMe = defaultSettingCheck?.listeningFromMe || false; - if (!data.stopBotFromMe) data.stopBotFromMe = defaultSettingCheck?.stopBotFromMe || false; - if (!data.keepOpen) data.keepOpen = defaultSettingCheck?.keepOpen || false; - if (!data.debounceTime) data.debounceTime = defaultSettingCheck?.debounceTime || 0; - if (!data.ignoreJids) data.ignoreJids = defaultSettingCheck?.ignoreJids || []; - if (!data.splitMessages) data.splitMessages = defaultSettingCheck?.splitMessages || false; - if (!data.timePerChar) data.timePerChar = defaultSettingCheck?.timePerChar || 0; + if (data.expire === undefined || data.expire === null) data.expire = defaultSettingCheck.expire; + if (data.keywordFinish === undefined || data.keywordFinish === null) + data.keywordFinish = defaultSettingCheck.keywordFinish; + if (data.delayMessage === undefined || data.delayMessage === null) + data.delayMessage = defaultSettingCheck.delayMessage; + if (data.unknownMessage === undefined || data.unknownMessage === null) + data.unknownMessage = defaultSettingCheck.unknownMessage; + if (data.listeningFromMe === undefined || data.listeningFromMe === null) + data.listeningFromMe = defaultSettingCheck.listeningFromMe; + if (data.stopBotFromMe === undefined || data.stopBotFromMe === null) + data.stopBotFromMe = defaultSettingCheck.stopBotFromMe; + if (data.keepOpen === undefined || data.keepOpen === null) data.keepOpen = defaultSettingCheck.keepOpen; + if (data.debounceTime === undefined || data.debounceTime === null) + data.debounceTime = defaultSettingCheck.debounceTime; + if (data.ignoreJids === undefined || data.ignoreJids === null) data.ignoreJids = defaultSettingCheck.ignoreJids; + if (data.splitMessages === undefined || data.splitMessages === null) + data.splitMessages = defaultSettingCheck?.splitMessages ?? false; + if (data.timePerChar === undefined || data.timePerChar === null) + data.timePerChar = defaultSettingCheck?.timePerChar ?? 0; if (!defaultSettingCheck) { await this.settings(instance, { @@ -788,15 +796,15 @@ export class DifyController extends ChatbotController implements ChatbotControll let splitMessages = findBot?.splitMessages; let timePerChar = findBot?.timePerChar; - if (!expire) expire = settings.expire; - if (!keywordFinish) keywordFinish = settings.keywordFinish; - if (!delayMessage) delayMessage = settings.delayMessage; - if (!unknownMessage) unknownMessage = settings.unknownMessage; - if (!listeningFromMe) listeningFromMe = settings.listeningFromMe; - if (!stopBotFromMe) stopBotFromMe = settings.stopBotFromMe; - if (!keepOpen) keepOpen = settings.keepOpen; + if (expire === undefined || expire === null) expire = settings.expire; + if (keywordFinish === undefined || keywordFinish === null) keywordFinish = settings.keywordFinish; + if (delayMessage === undefined || delayMessage === null) delayMessage = settings.delayMessage; + if (unknownMessage === undefined || unknownMessage === null) unknownMessage = settings.unknownMessage; + if (listeningFromMe === undefined || listeningFromMe === null) listeningFromMe = settings.listeningFromMe; + if (stopBotFromMe === undefined || stopBotFromMe === null) stopBotFromMe = settings.stopBotFromMe; + if (keepOpen === undefined || keepOpen === null) keepOpen = settings.keepOpen; if (debounceTime === undefined || debounceTime === null) debounceTime = settings.debounceTime; - if (!ignoreJids) ignoreJids = settings.ignoreJids; + if (ignoreJids === undefined || ignoreJids === null) ignoreJids = settings.ignoreJids; if (splitMessages === undefined || splitMessages === null) splitMessages = settings?.splitMessages ?? false; if (timePerChar === undefined || timePerChar === null) timePerChar = settings?.timePerChar ?? 0; diff --git a/src/api/integrations/chatbot/evolutionBot/controllers/evolutionBot.controller.ts b/src/api/integrations/chatbot/evolutionBot/controllers/evolutionBot.controller.ts index fb47c8ac..329c18a9 100644 --- a/src/api/integrations/chatbot/evolutionBot/controllers/evolutionBot.controller.ts +++ b/src/api/integrations/chatbot/evolutionBot/controllers/evolutionBot.controller.ts @@ -60,17 +60,25 @@ export class EvolutionBotController extends ChatbotController implements Chatbot }, }); - if (!data.expire) data.expire = defaultSettingCheck?.expire || 0; - if (!data.keywordFinish) data.keywordFinish = defaultSettingCheck?.keywordFinish || ''; - if (!data.delayMessage) data.delayMessage = defaultSettingCheck?.delayMessage || 1000; - if (!data.unknownMessage) data.unknownMessage = defaultSettingCheck?.unknownMessage || ''; - if (!data.listeningFromMe) data.listeningFromMe = defaultSettingCheck?.listeningFromMe || false; - if (!data.stopBotFromMe) data.stopBotFromMe = defaultSettingCheck?.stopBotFromMe || false; - if (!data.keepOpen) data.keepOpen = defaultSettingCheck?.keepOpen || false; - if (!data.debounceTime) data.debounceTime = defaultSettingCheck?.debounceTime || 0; - if (!data.ignoreJids) data.ignoreJids = defaultSettingCheck?.ignoreJids || []; - if (!data.splitMessages) data.splitMessages = defaultSettingCheck?.splitMessages || false; - if (!data.timePerChar) data.timePerChar = defaultSettingCheck?.timePerChar || 0; + if (data.expire === undefined || data.expire === null) data.expire = defaultSettingCheck.expire; + if (data.keywordFinish === undefined || data.keywordFinish === null) + data.keywordFinish = defaultSettingCheck.keywordFinish; + if (data.delayMessage === undefined || data.delayMessage === null) + data.delayMessage = defaultSettingCheck.delayMessage; + if (data.unknownMessage === undefined || data.unknownMessage === null) + data.unknownMessage = defaultSettingCheck.unknownMessage; + if (data.listeningFromMe === undefined || data.listeningFromMe === null) + data.listeningFromMe = defaultSettingCheck.listeningFromMe; + if (data.stopBotFromMe === undefined || data.stopBotFromMe === null) + data.stopBotFromMe = defaultSettingCheck.stopBotFromMe; + if (data.keepOpen === undefined || data.keepOpen === null) data.keepOpen = defaultSettingCheck.keepOpen; + if (data.debounceTime === undefined || data.debounceTime === null) + data.debounceTime = defaultSettingCheck.debounceTime; + if (data.ignoreJids === undefined || data.ignoreJids === null) data.ignoreJids = defaultSettingCheck.ignoreJids; + if (data.splitMessages === undefined || data.splitMessages === null) + data.splitMessages = defaultSettingCheck?.splitMessages ?? false; + if (data.timePerChar === undefined || data.timePerChar === null) + data.timePerChar = defaultSettingCheck?.timePerChar ?? 0; if (!defaultSettingCheck) { await this.settings(instance, { @@ -760,15 +768,15 @@ export class EvolutionBotController extends ChatbotController implements Chatbot let splitMessages = findBot?.splitMessages; let timePerChar = findBot?.timePerChar; - if (!expire) expire = settings.expire; - if (!keywordFinish) keywordFinish = settings.keywordFinish; - if (!delayMessage) delayMessage = settings.delayMessage; - if (!unknownMessage) unknownMessage = settings.unknownMessage; - if (!listeningFromMe) listeningFromMe = settings.listeningFromMe; - if (!stopBotFromMe) stopBotFromMe = settings.stopBotFromMe; - if (!keepOpen) keepOpen = settings.keepOpen; + if (expire === undefined || expire === null) expire = settings.expire; + if (keywordFinish === undefined || keywordFinish === null) keywordFinish = settings.keywordFinish; + if (delayMessage === undefined || delayMessage === null) delayMessage = settings.delayMessage; + if (unknownMessage === undefined || unknownMessage === null) unknownMessage = settings.unknownMessage; + if (listeningFromMe === undefined || listeningFromMe === null) listeningFromMe = settings.listeningFromMe; + if (stopBotFromMe === undefined || stopBotFromMe === null) stopBotFromMe = settings.stopBotFromMe; + if (keepOpen === undefined || keepOpen === null) keepOpen = settings.keepOpen; if (debounceTime === undefined || debounceTime === null) debounceTime = settings.debounceTime; - if (!ignoreJids) ignoreJids = settings.ignoreJids; + if (ignoreJids === undefined || ignoreJids === null) ignoreJids = settings.ignoreJids; if (splitMessages === undefined || splitMessages === null) splitMessages = settings?.splitMessages ?? false; if (timePerChar === undefined || timePerChar === null) timePerChar = settings?.timePerChar ?? 0; diff --git a/src/api/integrations/chatbot/flowise/controllers/flowise.controller.ts b/src/api/integrations/chatbot/flowise/controllers/flowise.controller.ts index 8b71b3bd..67b572f1 100644 --- a/src/api/integrations/chatbot/flowise/controllers/flowise.controller.ts +++ b/src/api/integrations/chatbot/flowise/controllers/flowise.controller.ts @@ -60,17 +60,25 @@ export class FlowiseController extends ChatbotController implements ChatbotContr }, }); - if (!data.expire) data.expire = defaultSettingCheck?.expire || 0; - if (!data.keywordFinish) data.keywordFinish = defaultSettingCheck?.keywordFinish || ''; - if (!data.delayMessage) data.delayMessage = defaultSettingCheck?.delayMessage || 1000; - if (!data.unknownMessage) data.unknownMessage = defaultSettingCheck?.unknownMessage || ''; - if (!data.listeningFromMe) data.listeningFromMe = defaultSettingCheck?.listeningFromMe || false; - if (!data.stopBotFromMe) data.stopBotFromMe = defaultSettingCheck?.stopBotFromMe || false; - if (!data.keepOpen) data.keepOpen = defaultSettingCheck?.keepOpen || false; - if (!data.debounceTime) data.debounceTime = defaultSettingCheck?.debounceTime || 0; - if (!data.ignoreJids) data.ignoreJids = defaultSettingCheck?.ignoreJids || []; - if (!data.splitMessages) data.splitMessages = defaultSettingCheck?.splitMessages || false; - if (!data.timePerChar) data.timePerChar = defaultSettingCheck?.timePerChar || 0; + if (data.expire === undefined || data.expire === null) data.expire = defaultSettingCheck.expire; + if (data.keywordFinish === undefined || data.keywordFinish === null) + data.keywordFinish = defaultSettingCheck.keywordFinish; + if (data.delayMessage === undefined || data.delayMessage === null) + data.delayMessage = defaultSettingCheck.delayMessage; + if (data.unknownMessage === undefined || data.unknownMessage === null) + data.unknownMessage = defaultSettingCheck.unknownMessage; + if (data.listeningFromMe === undefined || data.listeningFromMe === null) + data.listeningFromMe = defaultSettingCheck.listeningFromMe; + if (data.stopBotFromMe === undefined || data.stopBotFromMe === null) + data.stopBotFromMe = defaultSettingCheck.stopBotFromMe; + if (data.keepOpen === undefined || data.keepOpen === null) data.keepOpen = defaultSettingCheck.keepOpen; + if (data.debounceTime === undefined || data.debounceTime === null) + data.debounceTime = defaultSettingCheck.debounceTime; + if (data.ignoreJids === undefined || data.ignoreJids === null) data.ignoreJids = defaultSettingCheck.ignoreJids; + if (data.splitMessages === undefined || data.splitMessages === null) + data.splitMessages = defaultSettingCheck?.splitMessages ?? false; + if (data.timePerChar === undefined || data.timePerChar === null) + data.timePerChar = defaultSettingCheck?.timePerChar ?? 0; if (!defaultSettingCheck) { await this.settings(instance, { @@ -760,15 +768,15 @@ export class FlowiseController extends ChatbotController implements ChatbotContr let splitMessages = findBot?.splitMessages; let timePerChar = findBot?.timePerChar; - if (!expire) expire = settings.expire; - if (!keywordFinish) keywordFinish = settings.keywordFinish; - if (!delayMessage) delayMessage = settings.delayMessage; - if (!unknownMessage) unknownMessage = settings.unknownMessage; - if (!listeningFromMe) listeningFromMe = settings.listeningFromMe; - if (!stopBotFromMe) stopBotFromMe = settings.stopBotFromMe; - if (!keepOpen) keepOpen = settings.keepOpen; + if (expire === undefined || expire === null) expire = settings.expire; + if (keywordFinish === undefined || keywordFinish === null) keywordFinish = settings.keywordFinish; + if (delayMessage === undefined || delayMessage === null) delayMessage = settings.delayMessage; + if (unknownMessage === undefined || unknownMessage === null) unknownMessage = settings.unknownMessage; + if (listeningFromMe === undefined || listeningFromMe === null) listeningFromMe = settings.listeningFromMe; + if (stopBotFromMe === undefined || stopBotFromMe === null) stopBotFromMe = settings.stopBotFromMe; + if (keepOpen === undefined || keepOpen === null) keepOpen = settings.keepOpen; if (debounceTime === undefined || debounceTime === null) debounceTime = settings.debounceTime; - if (!ignoreJids) ignoreJids = settings.ignoreJids; + if (ignoreJids === undefined || ignoreJids === null) ignoreJids = settings.ignoreJids; if (splitMessages === undefined || splitMessages === null) splitMessages = settings?.splitMessages ?? false; if (timePerChar === undefined || timePerChar === null) timePerChar = settings?.timePerChar ?? 0; diff --git a/src/api/integrations/chatbot/openai/controllers/openai.controller.ts b/src/api/integrations/chatbot/openai/controllers/openai.controller.ts index eb6996f8..3d28ff4a 100644 --- a/src/api/integrations/chatbot/openai/controllers/openai.controller.ts +++ b/src/api/integrations/chatbot/openai/controllers/openai.controller.ts @@ -201,18 +201,25 @@ export class OpenaiController extends ChatbotController implements ChatbotContro }, }); - if (!data.openaiCredsId) data.openaiCredsId = defaultSettingCheck?.openaiCredsId || null; - if (!data.expire) data.expire = defaultSettingCheck?.expire || 0; - if (!data.keywordFinish) data.keywordFinish = defaultSettingCheck?.keywordFinish || ''; - if (!data.delayMessage) data.delayMessage = defaultSettingCheck?.delayMessage || 1000; - if (!data.unknownMessage) data.unknownMessage = defaultSettingCheck?.unknownMessage || ''; - if (!data.listeningFromMe) data.listeningFromMe = defaultSettingCheck?.listeningFromMe || false; - if (!data.stopBotFromMe) data.stopBotFromMe = defaultSettingCheck?.stopBotFromMe || false; - if (!data.keepOpen) data.keepOpen = defaultSettingCheck?.keepOpen || false; - if (!data.debounceTime) data.debounceTime = defaultSettingCheck?.debounceTime || 0; - if (!data.ignoreJids) data.ignoreJids = defaultSettingCheck?.ignoreJids || []; - if (!data.splitMessages) data.splitMessages = defaultSettingCheck?.splitMessages || false; - if (!data.timePerChar) data.timePerChar = defaultSettingCheck?.timePerChar || 0; + if (data.expire === undefined || data.expire === null) data.expire = defaultSettingCheck.expire; + if (data.keywordFinish === undefined || data.keywordFinish === null) + data.keywordFinish = defaultSettingCheck.keywordFinish; + if (data.delayMessage === undefined || data.delayMessage === null) + data.delayMessage = defaultSettingCheck.delayMessage; + if (data.unknownMessage === undefined || data.unknownMessage === null) + data.unknownMessage = defaultSettingCheck.unknownMessage; + if (data.listeningFromMe === undefined || data.listeningFromMe === null) + data.listeningFromMe = defaultSettingCheck.listeningFromMe; + if (data.stopBotFromMe === undefined || data.stopBotFromMe === null) + data.stopBotFromMe = defaultSettingCheck.stopBotFromMe; + if (data.keepOpen === undefined || data.keepOpen === null) data.keepOpen = defaultSettingCheck.keepOpen; + if (data.debounceTime === undefined || data.debounceTime === null) + data.debounceTime = defaultSettingCheck.debounceTime; + if (data.ignoreJids === undefined || data.ignoreJids === null) data.ignoreJids = defaultSettingCheck.ignoreJids; + if (data.splitMessages === undefined || data.splitMessages === null) + data.splitMessages = defaultSettingCheck?.splitMessages ?? false; + if (data.timePerChar === undefined || data.timePerChar === null) + data.timePerChar = defaultSettingCheck?.timePerChar ?? 0; if (!data.openaiCredsId) { throw new Error('Openai Creds Id is required'); @@ -998,15 +1005,15 @@ export class OpenaiController extends ChatbotController implements ChatbotContro let splitMessages = findBot?.splitMessages; let timePerChar = findBot?.timePerChar; - if (!expire) expire = settings.expire; - if (!keywordFinish) keywordFinish = settings.keywordFinish; - if (!delayMessage) delayMessage = settings.delayMessage; - if (!unknownMessage) unknownMessage = settings.unknownMessage; - if (!listeningFromMe) listeningFromMe = settings.listeningFromMe; - if (!stopBotFromMe) stopBotFromMe = settings.stopBotFromMe; - if (!keepOpen) keepOpen = settings.keepOpen; + if (expire === undefined || expire === null) expire = settings.expire; + if (keywordFinish === undefined || keywordFinish === null) keywordFinish = settings.keywordFinish; + if (delayMessage === undefined || delayMessage === null) delayMessage = settings.delayMessage; + if (unknownMessage === undefined || unknownMessage === null) unknownMessage = settings.unknownMessage; + if (listeningFromMe === undefined || listeningFromMe === null) listeningFromMe = settings.listeningFromMe; + if (stopBotFromMe === undefined || stopBotFromMe === null) stopBotFromMe = settings.stopBotFromMe; + if (keepOpen === undefined || keepOpen === null) keepOpen = settings.keepOpen; if (debounceTime === undefined || debounceTime === null) debounceTime = settings.debounceTime; - if (!ignoreJids) ignoreJids = settings.ignoreJids; + if (ignoreJids === undefined || ignoreJids === null) ignoreJids = settings.ignoreJids; if (splitMessages === undefined || splitMessages === null) splitMessages = settings?.splitMessages ?? false; if (timePerChar === undefined || timePerChar === null) timePerChar = settings?.timePerChar ?? 0; diff --git a/src/api/integrations/chatbot/typebot/controllers/typebot.controller.ts b/src/api/integrations/chatbot/typebot/controllers/typebot.controller.ts index c84a3b0a..7ae22762 100644 --- a/src/api/integrations/chatbot/typebot/controllers/typebot.controller.ts +++ b/src/api/integrations/chatbot/typebot/controllers/typebot.controller.ts @@ -570,6 +570,8 @@ export class TypebotController extends ChatbotController implements ChatbotContr let listeningFromMe = data?.typebot?.listeningFromMe; let stopBotFromMe = data?.typebot?.stopBotFromMe; let keepOpen = data?.typebot?.keepOpen; + let debounceTime = data?.typebot?.debounceTime; + let ignoreJids = data?.typebot?.ignoreJids; const defaultSettingCheck = await this.settingsRepository.findFirst({ where: { @@ -586,15 +588,20 @@ export class TypebotController extends ChatbotController implements ChatbotContr !unknownMessage || !listeningFromMe || !stopBotFromMe || - !keepOpen + !keepOpen || + !debounceTime || + !ignoreJids ) { - if (!expire) expire = defaultSettingCheck?.expire || 0; - if (!keywordFinish) keywordFinish = defaultSettingCheck?.keywordFinish || '#SAIR'; - if (!delayMessage) delayMessage = defaultSettingCheck?.delayMessage || 1000; - if (!unknownMessage) unknownMessage = defaultSettingCheck?.unknownMessage || 'Desculpe, não entendi'; - if (!listeningFromMe) listeningFromMe = defaultSettingCheck?.listeningFromMe || false; - if (!stopBotFromMe) stopBotFromMe = defaultSettingCheck?.stopBotFromMe || false; - if (!keepOpen) keepOpen = defaultSettingCheck?.keepOpen || false; + if (expire === undefined || expire === null) expire = defaultSettingCheck.expire; + if (keywordFinish === undefined || keywordFinish === null) keywordFinish = defaultSettingCheck.keywordFinish; + if (delayMessage === undefined || delayMessage === null) delayMessage = defaultSettingCheck.delayMessage; + if (unknownMessage === undefined || unknownMessage === null) unknownMessage = defaultSettingCheck.unknownMessage; + if (listeningFromMe === undefined || listeningFromMe === null) + listeningFromMe = defaultSettingCheck.listeningFromMe; + if (stopBotFromMe === undefined || stopBotFromMe === null) stopBotFromMe = defaultSettingCheck.stopBotFromMe; + if (keepOpen === undefined || keepOpen === null) keepOpen = defaultSettingCheck.keepOpen; + if (debounceTime === undefined || debounceTime === null) debounceTime = defaultSettingCheck.debounceTime; + if (ignoreJids === undefined || ignoreJids === null) ignoreJids = defaultSettingCheck.ignoreJids; if (!defaultSettingCheck) { await this.settings(instance, { @@ -605,6 +612,8 @@ export class TypebotController extends ChatbotController implements ChatbotContr listeningFromMe: listeningFromMe, stopBotFromMe: stopBotFromMe, keepOpen: keepOpen, + debounceTime: debounceTime, + ignoreJids: ignoreJids, }); } } @@ -980,15 +989,15 @@ export class TypebotController extends ChatbotController implements ChatbotContr let debounceTime = findBot?.debounceTime; let ignoreJids = findBot?.ignoreJids; - if (!expire) expire = settings.expire; - if (!keywordFinish) keywordFinish = settings.keywordFinish; - if (!delayMessage) delayMessage = settings.delayMessage; - if (!unknownMessage) unknownMessage = settings.unknownMessage; - if (!listeningFromMe) listeningFromMe = settings.listeningFromMe; - if (!stopBotFromMe) stopBotFromMe = settings.stopBotFromMe; - if (!keepOpen) keepOpen = settings.keepOpen; - if (!debounceTime) debounceTime = settings.debounceTime; - if (!ignoreJids) ignoreJids = settings.ignoreJids; + if (expire === undefined || expire === null) expire = settings.expire; + if (keywordFinish === undefined || keywordFinish === null) keywordFinish = settings.keywordFinish; + if (delayMessage === undefined || delayMessage === null) delayMessage = settings.delayMessage; + if (unknownMessage === undefined || unknownMessage === null) unknownMessage = settings.unknownMessage; + if (listeningFromMe === undefined || listeningFromMe === null) listeningFromMe = settings.listeningFromMe; + if (stopBotFromMe === undefined || stopBotFromMe === null) stopBotFromMe = settings.stopBotFromMe; + if (keepOpen === undefined || keepOpen === null) keepOpen = settings.keepOpen; + if (debounceTime === undefined || debounceTime === null) debounceTime = settings.debounceTime; + if (ignoreJids === undefined || ignoreJids === null) ignoreJids = settings.ignoreJids; if (this.checkIgnoreJids(ignoreJids, remoteJid)) return;