diff --git a/packages/basic.gblib/services/DialogKeywords.ts b/packages/basic.gblib/services/DialogKeywords.ts index ee1b224a..b9dd0e80 100644 --- a/packages/basic.gblib/services/DialogKeywords.ts +++ b/packages/basic.gblib/services/DialogKeywords.ts @@ -46,8 +46,7 @@ import { Messages } from '../strings.js'; import * as Fs from 'fs'; import { CollectionUtil } from 'pragmatismo-io-framework'; import { GBConversationalService } from '../../core.gbapp/services/GBConversationalService.js'; -import phoneUtil from 'google-libphonenumber'; -import phone from 'phone'; +import libphonenumber from 'google-libphonenumber'; import DateDiff from 'date-diff'; import tesseract from 'node-tesseract-ocr'; import Path from 'path'; @@ -956,17 +955,17 @@ export class DialogKeywords { result = value; } else if (kind === 'mobile') { - let phoneNumber; + let phoneNumber = answer; + let p = libphonenumber.PhoneNumberUtil.getInstance(); try { // https://github.com/GeneralBots/BotServer/issues/307 - phoneNumber = phone(answer, { country: 'BRA' })[0]; - phoneNumber = phoneUtil.parse(phoneNumber); + phoneNumber = p.parse(phoneNumber); } catch (error) { await this.talk({ pid, text: Messages[locale].validation_enter_valid_mobile }); return await this.hear({ pid, kind, args }); } - if (!phoneUtil.isPossibleNumber(phoneNumber)) { + if (!p.isPossibleNumber(phoneNumber)) { await this.talk({ pid, text: 'Por favor, digite um número de telefone válido.' }); return await this.hear({ pid, kind, args }); } diff --git a/packages/security.gbapp/dialogs/ProfileDialog.ts b/packages/security.gbapp/dialogs/ProfileDialog.ts index d4a951b3..c504e338 100644 --- a/packages/security.gbapp/dialogs/ProfileDialog.ts +++ b/packages/security.gbapp/dialogs/ProfileDialog.ts @@ -110,7 +110,7 @@ export class ProfileDialog extends IGBDialog { return await step.replaceDialog('/profile_mobile', step.activeDialog.state.options); } - if (!libphonenumber.phoneUtil.isPossibleNumber(phoneNumber)) { + if (!p.isPossibleNumber(phoneNumber)) { await step.context.sendActivity(Messages[locale].validation_enter_valid_mobile); return await step.replaceDialog('/profile_mobile', step.activeDialog.state.options);