fix(basic.gblib): Goto dialog within web.
This commit is contained in:
parent
7c446699eb
commit
565f200ebf
2 changed files with 13 additions and 9 deletions
|
@ -453,18 +453,22 @@ export class DialogKeywords {
|
|||
/**
|
||||
* Prepares the next dialog to be shown to the specified user.
|
||||
*/
|
||||
public async gotoDialog(step, fromOrDialogName: string, dialogName: string) {
|
||||
public async gotoDialog(step, fromOrDialogName: string, dialogName: string) {
|
||||
if (dialogName) {
|
||||
let sec = new SecService();
|
||||
let user = await sec.getUserFromSystemId(fromOrDialogName);
|
||||
if (!user) {
|
||||
user = await sec.ensureUser(this.min.instance.instanceId, fromOrDialogName,
|
||||
fromOrDialogName, null, 'whatsapp', 'from', null);
|
||||
if (dialogName.charAt(0) === '/') {
|
||||
await step.beginDialog(fromOrDialogName);
|
||||
} else {
|
||||
let sec = new SecService();
|
||||
let user = await sec.getUserFromSystemId(fromOrDialogName);
|
||||
if (!user) {
|
||||
user = await sec.ensureUser(this.min.instance.instanceId, fromOrDialogName,
|
||||
fromOrDialogName, null, 'whatsapp', 'from', null);
|
||||
}
|
||||
await sec.updateUserHearOnDialog(user.userId, dialogName);
|
||||
}
|
||||
await sec.updateUserHearOnDialog(user.userId, dialogName);
|
||||
}
|
||||
else {
|
||||
await step.beginDialog(dialogName);
|
||||
await step.beginDialog(fromOrDialogName);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -242,7 +242,7 @@ export class GBVMService extends GBService {
|
|||
});
|
||||
|
||||
code = code.replace(/(go to)(\s)(.*)/gi, ($0, $1, $2, $3) => {
|
||||
return `sys().gotoDialog(step, ${$3})\n`;
|
||||
return `gotoDialog(step, ${$3})\n`;
|
||||
});
|
||||
|
||||
code = code.replace(/(hear)\s*(\w+)/gi, ($0, $1, $2) => {
|
||||
|
|
Loading…
Add table
Reference in a new issue