@@ -100,6 +100,13 @@ export class TypebotService {
100
100
const url = data . url ;
101
101
const typebot = data . typebot ;
102
102
const variables = data . variables ;
103
+ const findTypebot = await this . find ( instance ) ;
104
+ const sessions = ( findTypebot . sessions as Session [ ] ) ?? [ ] ;
105
+ const expire = findTypebot . expire ;
106
+ const keyword_finish = findTypebot . keyword_finish ;
107
+ const delay_message = findTypebot . delay_message ;
108
+ const unknown_message = findTypebot . unknown_message ;
109
+ const listening_from_me = findTypebot . listening_from_me ;
103
110
104
111
const prefilledVariables = {
105
112
remoteJid : remoteJid ,
@@ -109,42 +116,47 @@ export class TypebotService {
109
116
prefilledVariables [ variable . name ] = variable . value ;
110
117
} ) ;
111
118
112
- const id = Math . floor ( Math . random ( ) * 10000000000 ) . toString ( ) ;
113
-
114
- const reqData = {
115
- sessionId : id ,
116
- startParams : {
117
- typebot : data . typebot ,
118
- prefilledVariables : prefilledVariables ,
119
- } ,
120
- } ;
121
-
122
- const request = await axios . post ( data . url + '/api/v1/sendMessage' , reqData ) ;
123
-
124
- await this . sendWAMessage (
125
- instance ,
126
- remoteJid ,
127
- request . data . messages ,
128
- request . data . input ,
129
- request . data . clientSideActions ,
130
- ) ;
131
-
132
- this . waMonitor . waInstances [ instance . instanceName ] . sendDataWebhook ( Events . TYPEBOT_START , {
133
- remoteJid : remoteJid ,
119
+ const response = await this . createNewSession ( instance , {
134
120
url : url ,
135
121
typebot : typebot ,
136
- variables : variables ,
137
- sessionId : id ,
122
+ remoteJid : remoteJid ,
123
+ expire : expire ,
124
+ keyword_finish : keyword_finish ,
125
+ delay_message : delay_message ,
126
+ unknown_message : unknown_message ,
127
+ listening_from_me : listening_from_me ,
128
+ sessions : sessions ,
129
+ prefilledVariables : prefilledVariables ,
138
130
} ) ;
139
131
132
+ if ( response . sessionId ) {
133
+ await this . sendWAMessage (
134
+ instance ,
135
+ remoteJid ,
136
+ response . messages ,
137
+ response . input ,
138
+ response . clientSideActions ,
139
+ ) ;
140
+
141
+ this . waMonitor . waInstances [ instance . instanceName ] . sendDataWebhook ( Events . TYPEBOT_START , {
142
+ remoteJid : remoteJid ,
143
+ url : url ,
144
+ typebot : typebot ,
145
+ prefilledVariables : prefilledVariables ,
146
+ sessionId : `${ response . sessionId } ` ,
147
+ } ) ;
148
+ } else {
149
+ throw new Error ( "Session ID not found in response" ) ;
150
+ }
151
+
140
152
return {
141
153
typebot : {
142
154
...instance ,
143
155
typebot : {
144
156
url : url ,
145
157
remoteJid : remoteJid ,
146
158
typebot : typebot ,
147
- variables : variables ,
159
+ prefilledVariables : prefilledVariables ,
148
160
} ,
149
161
} ,
150
162
} ;
@@ -193,8 +205,9 @@ export class TypebotService {
193
205
startParams : {
194
206
typebot : data . typebot ,
195
207
prefilledVariables : {
208
+ ...data . prefilledVariables ,
196
209
remoteJid : data . remoteJid ,
197
- pushName : data . pushName ,
210
+ pushName : data . pushName || 'Default Name' ,
198
211
instanceName : instance . instanceName ,
199
212
} ,
200
213
} ,
@@ -209,6 +222,12 @@ export class TypebotService {
209
222
status : 'opened' ,
210
223
createdAt : Date . now ( ) ,
211
224
updateAt : Date . now ( ) ,
225
+ prefilledVariables : {
226
+ ...data . prefilledVariables ,
227
+ remoteJid : data . remoteJid ,
228
+ pushName : data . pushName || 'Default Name' ,
229
+ instanceName : instance . instanceName ,
230
+ }
212
231
} ) ;
213
232
214
233
const typebotData = {
0 commit comments