diff --git a/packages/core.gbapp/services/GBAPIService.ts b/packages/core.gbapp/services/GBAPIService.ts index 829d4907..01ea73b5 100644 --- a/packages/core.gbapp/services/GBAPIService.ts +++ b/packages/core.gbapp/services/GBAPIService.ts @@ -102,6 +102,10 @@ class SysClass { await this.min.conversationalService.sendMarkdownToMobile(this.min, null, mobile, message); } + public async sendSmsTo(mobile, message) { + await this.min.conversationalService.sendSms(this.min, mobile, message); + } + public async set(file: string, address: string, value: any): Promise { GBLog.info(`BASIC: Defining '${address}' in '${file}' to '${value}' (SET). `); try { diff --git a/packages/core.gbapp/services/GBConversationalService.ts b/packages/core.gbapp/services/GBConversationalService.ts index 272982ef..0cb93f5d 100644 --- a/packages/core.gbapp/services/GBConversationalService.ts +++ b/packages/core.gbapp/services/GBConversationalService.ts @@ -145,8 +145,9 @@ export class GBConversationalService { }); // tslint:disable-next-line:no-unsafe-any nexmo.message.sendSms(min.instance.smsServiceNumber, mobile, text, (err, data) => { - if (err) { - reject(err); + if (data.messages[0]['error-text']) { + GBLog.error(`BASIC: error sending SMS to ${mobile}: ${data.messages[0]['error-text']}`); + reject(data.messages[0]['error-text']); } else { resolve(data); } diff --git a/packages/core.gbapp/services/GBVMService.ts b/packages/core.gbapp/services/GBVMService.ts index 2c417d4c..3307ea09 100644 --- a/packages/core.gbapp/services/GBVMService.ts +++ b/packages/core.gbapp/services/GBVMService.ts @@ -216,6 +216,10 @@ export class GBVMService extends GBService { return `talk (step, ${$3})\n`; }); + code = code.replace(/(send sms to)(\s*)(.*)/gi, ($0, $1, $2, $3) => { + return `sys().sendSmsTo (${$3})\n`; + }); + code = code.replace(/(send file to)(\s*)(.*)/gi, ($0, $1, $2, $3) => { return `sendFileTo (step, ${$3})\n`; });