new(security.gblib): SMS Auth.
This commit is contained in:
parent
27cdb25322
commit
6112ce9a1c
4 changed files with 853 additions and 832 deletions
|
@ -135,7 +135,6 @@
|
|||
"ffmpeg-static": "5.1.0",
|
||||
"google-libphonenumber": "3.2.31",
|
||||
"googleapis": "126.0.1",
|
||||
|
||||
"ibm-watson": "7.1.2",
|
||||
"iso-639-1": "3.1.1",
|
||||
"join-images-updated": "1.1.4",
|
||||
|
|
|
@ -49,7 +49,7 @@ import { GuaribasUser } from '../../security.gbapp/models/index.js';
|
|||
import { GBMinService } from './GBMinService.js';
|
||||
import urlJoin from 'url-join';
|
||||
import Fs from 'fs';
|
||||
import PasswordGenerator from 'strict-password-generator';
|
||||
import twilio from 'twilio';
|
||||
import Nexmo from 'nexmo';
|
||||
import { join } from 'path';
|
||||
import shell from 'any-shell-escape';
|
||||
|
@ -62,6 +62,7 @@ import { IamAuthenticator } from 'ibm-watson/auth/index.js';
|
|||
import * as marked from 'marked';
|
||||
import Translate from '@google-cloud/translate';
|
||||
import { GBUtil } from '../../../src/util.js';
|
||||
import { GBLogEx } from './GBLogEx.js';
|
||||
|
||||
/**
|
||||
* Provides basic services for handling messages and dispatching to back-end
|
||||
|
@ -354,6 +355,25 @@ export class GBConversationalService {
|
|||
// tslint:disable:no-unsafe-any due to Nexmo.
|
||||
public async sendSms(min: GBMinInstance, mobile: string, text: string): Promise<any> {
|
||||
GBLog.info(`Sending SMS to ${mobile} with text: '${text}'.`);
|
||||
const accountSid = process.env.TWILIO_ACCOUNT_SID;
|
||||
const authToken = process.env.TWILIO_AUTH_TOKEN;
|
||||
const client = twilio(null, authToken, { accountSid: accountSid });
|
||||
|
||||
let botNumber = min.core.getParam<string>(min.instance, 'Bot Number', null);
|
||||
if (!botNumber) {
|
||||
botNumber = process.env.BOT_NUMBER;
|
||||
}
|
||||
|
||||
const msg = await client.messages
|
||||
.create({
|
||||
body: text,
|
||||
from: '+' + botNumber,
|
||||
to: '+' + mobile
|
||||
})
|
||||
|
||||
GBLogEx.info(min, `SMS sent, return: ${msg.sid}.`);
|
||||
}
|
||||
return;
|
||||
|
||||
if(!min.instance.smsKey && min.instance.smsSecret) {
|
||||
const url = 'http://sms-api.megaconecta.com.br/mt';
|
||||
|
|
|
@ -74,6 +74,8 @@ export class SMSAuthDialog extends IGBDialog {
|
|||
mobile,
|
||||
Messages[locale].please_use_code(code)
|
||||
);
|
||||
await min.conversationalService.sendSms(min, mobile, Messages[locale].please_use_code(code));
|
||||
|
||||
return await min.conversationalService.prompt(min, step, Messages[locale].confirm_mobile);
|
||||
},
|
||||
async (step) => {
|
||||
|
|
|
@ -53,7 +53,7 @@ import e from 'express';
|
|||
import { GBUtil } from '../../../src/util.js';
|
||||
const { WAState, List, Buttons, Client, MessageMedia } = pkg;
|
||||
import twilio from 'twilio';
|
||||
const { MessagingResponse } = twilio.twiml;
|
||||
|
||||
|
||||
/**
|
||||
* Support for Whatsapp.
|
||||
|
|
Loading…
Add table
Reference in a new issue