forked from dreamav/whatsapp-bot
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathwa_bot.js
286 lines (265 loc) · 26 KB
/
wa_bot.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
const { Client } = require('./index')
const express = require('express');
const cors = require('cors');
const app = express();
app.use(cors());
const client = new Client({puppeteer: {headless: true,args: ['--no-sandbox', '--disable-setuid-sandbox']}});
// You can use an existing session and avoid scanning a QR code by adding a "session" object to the client options.
// This object must include WABrowserId, WASecretBundle, WAToken1 and WAToken2.
app.get('/lc/', async (req, res) => {
client.initialize();
client.on('qr', (qr_img) => {
res.status(200).json({
QR_image: qr_img
})
});
});
app.listen(3000, function () {
console.log('Basic NodeJS app listening on port 3000.');
});
// LOGIC
client.on('message', async msg => {
console.log('MESSAGE RECEIVED', msg);
if (msg.body == 'box' || msg.body == '#') {
client.setPrevMessage("main");
client.sendMessage(msg.from,
"*Привет, я коробочка ToDoBox!*"+
"\n\nПриятно познакомиться! "+
"\nЯ всегда готова ответить на все твои вопросы и буду 24/7 с тобой в чате ⏰"+
"\nРасскажи о себе, отправь в ответ соответствующую пункту меню в ответ на это сообщение:"+
"\n*1* Я уже счастливый клиент ToDoBox и у меня есть несколько вопросов 💪"+
"\n*2* Я еще не приобретал коробочку, но хочу и у меня есть несколько вопросов 🤔"
);
} else if (client.lastMessage == "main") {
switch (msg.body){
case "1":
client.setPrevMessage("profi");
client.sendMessage(msg.from,
"Привет, я коробочка ToDoBox!"+
"\n\nЯ всегда готова ответить на все твои вопросы и буду 24/7 с тобой в чате ⏰"+
"\nРасскажи, что произошло - отправь цифру, соответствующую пункту меню, в ответ на это сообщение:"+
"\n*1* Что делать, если оплатил коробочку, но не могу найти анкету? 👀"+
"\n*2* Как активировать сертификат на мероприятие?"+
"\n*3* Что делать, если я не успеваю посетить мероприятие?🙆"+
"\n*4* Что, если событие мне не подходит? "+
"\n*5* График работы и как пройти?👣"+
"\n*6* Акции"+
"\n*7* Хочу оставить отзыв или пожелание ❤"+
"\n*8* Оставить заявку на звонок"+
"\n\nНажми *#* чтобы вернуться в главное меню"
);
break;
case "2":
client.setPrevMessage("newbie");
client.sendMessage(msg.from,
"Привет, я коробчка ToDoBox!\n" +
"\nTo Do Box - это коробочка с впечатлениями!🎁"+
"\nЭто 4 или 6 сертификатов на двоих на разные мероприятия. Цена начинается от 990 рублей! Не веришь? А зря!🔥"+
"\nЯ готова ответить на все твои вопросы, отправь цифру соответствующую пункту меню в ответ на это сообщение:"+
"\n*1* Что такое ToDoBox?🎁" +
"\n*2* Срок действия сертификатов? Кто может посещать события?" +
"\n*3* Как заказать?🎯" +
"\n*4* Как получить коробочку?" +
"\n*5* Что, если мне не понравится коробочка?😵" +
"\n*6* График работы и как пройти?" +
"\n*7* Подробнее о To Do Box Plus🎉" +
"\n*8* Подробнее о подарочном сертификате" +
"\n*9* Подробнее о подписке на 3/6 месяцев🌍" +
"\n*10* Подробнее о подписке NON STOP" +
"\n*11* Акции☄" +
"\n*12* Оставить заявку на звонок"
+"\n\nНажми *#* чтобы вернуться в главное меню"
);
break;
default:
client.setPrevMessage("main");
client.sendMessage(msg.from, "Я не смог распознать команду (Нажми *#* чтобы вернуться в главное меню");
}
} else if (client.lastMessage == "profi") {
switch (msg.body) {
case "1":
client.sendMessage(msg.from,
"*1. Что делать, если оплатил коробочку, но не могу найти анкету?*\n"+
"\nПривет, пожалуйста, проверь папку спам! 📩"+
"\nБывает случается, что анкеты попадают именно туда! 💃"+
"\nЕсли анкеты и там не окажется, напиши нам на почту info@todobox.ru свой номер телефона, скорее всего почта была указана с ошибкой, мы найдем твой заказ по номеру телефона и направим анкету! ❤"
+"\n\nНажми *#* чтобы вернуться в главное меню"
);
break;
case "2":
client.sendMessage(msg.from,
"*2. Как активировать сертификат? Трудности при активации*" +
"\nЧтобы зарегистрировать сертификат необходимо перейти по ссылке и ввести все данные https://todobox.ru/go"+
"\n🎯Проверь введены ли все цифры и буквы верно"+
"\n🎯Если сертификат электронный, нужно обязательно вводить номер вручную, а не копировать его."+
"\n🎯Если же активация не проходит или ты не получил письма с инструкциями, напиши нам на почту info@todobox.ru номер сертификата, а мы тебе поможем!:)"
+"\n\nНажми *#* чтобы вернуться в главное меню"
);
break;
case "3":
client.sendMessage(msg.from,
"*3. Что делать, если я не успеваю посетить мероприятия?*" +
"\nНам очень, жаль что ты не успел посетить все события!"+
"\nЕсли в твоей коробочке 4 сертификата, к сожалению, в этой версии нет продления - но всегда можно предъявить неиспользованные билеты и получить скидку 10%🤗"+
"\nПродление действия мероприятий возможно в коробочке To Do Box Plus (6 сертификатов) - можно продлить четыре из шести, напиши нам на почту info@todobox.ru, какие мероприятия ты хотел бы продлить, а мы направим новые сертификаты! Не забудь про пометочку “Продление по коробочке PLUS” ❤"
+"\n\nНажми *#* чтобы вернуться в главное меню"
);
break;
case "4":
client.sendMessage(msg.from,
"*4. Что, если событие мне не подходит?*" +
"\nСамое главное - не грусти, коробочка создана чтобы радовать! 🎁" +
"\nТак что смело пиши нам на почту info@todobox.ru, а мы отправим список мероприятий для замены! 🏈🎳🏋"
+"\n\nНажми *#* чтобы вернуться в главное меню"
);
break;
case "5":
client.sendMessage(msg.from,
"*5. График работы и как нас найти?*" +
"\nМы находимся по адресу:"+
"\nст.м. Площадь Революции/Театральная/Лубянка, ул. Никольская, 17 (КИК «Славянский»), 1ый этаж по коридору вдоль окон, первый поворот налево, предпоследняя дверь)"+
"\nМаршрут с фото можно посмотреть здесь https://drive.google.com/drive/folders/1kCVhwFFxQEx-VZ8nFUy5e0KqjrJulSgz?usp=sharing или в историях в инстаграм"
+"\n\nНажми *#* чтобы вернуться в главное меню"
);
break;
case "6":
client.sendMessage(msg.from,
"*6. Акции*" +
"\nЧто же мы для тебя приготовили?"+
"\n🎁Если Вы собираетесь купить две коробочки или больше, мы выставим Вам индивидуальный счёт на оплату. На каждую последующую коробочку Вы получите скидку 10%! Для этого напишите нам на почту: “Я хочу 2 (или больше) коробочек”, а мы в ответ отправим ссылку для оплаты"+
"\n🎁Если ты не успел посетить мероприятия из прошлой коробочки - пришли нам фотографию сертификата, а мы сделаем скидку на покупку коробочки 10%! И пришлем секретную ссылку на оплату со скидкой!:)"+
"\n🎁Понравились мероприятия? Обязательно делись отзывами в социальных сетях - за каждые две фотографии с #todobox, отметкой нас и нашего партнера мы подарим еще один сертификат!:) "+
"\n🎁Если вы хотите больше 10 коробочек. Отправьте заявку на почту corporate@todobox.ru "+
"\nМы рассчитаем индивидуальную стоимость для вашего заказа."
+"\n\nНажми *#* чтобы вернуться в главное меню"
);
break;
case "7":
client.sendMessage(msg.from,
"*7. Хочу оставить отзыв или пожелание?* 🤗"
+"\n\nНажми *#* чтобы вернуться в главное меню"
);
break;
case "8":
client.sendMessage(msg.from,
"*8. Оставить заявку на звонок*"
+"\n\nНажми *#* чтобы вернуться в главное меню"
);
break;
default:
client.setPrevMessage("main");
client.sendMessage(msg.from, "Я не смог распознать команду( Нажми *#* чтобы вернуться в главное меню");
}
} else if (client.lastMessage == "newbie") {
switch (msg.body) {
case "1":
client.sendMessage(msg.from,
"*1. Что такое ToDoBox?*" +
"\n\nСпасибо за интерес к моей персоне!😇"+
"\nВ коробочке вы найдете 4 или 6 (To Do Box PLUS) мероприятий на двоих на самые яркие события, подобранные индивидуально для Вас! 🌟"+
"\nЭто могут быть мастер-классы, спортивные занятия или развлечения🎉."+
"\n\nНапример: квест по городу, интеллектуальная игра в кафе, ночные катки, тренировка в батутном центре, джазовый вечер в кафе, концерт, билеты в кино! 🎺"+
"Все мероприятия подбираются индивидуально! 🎯"+
"\n\nПосле оплаты заказа вы получаете на почту анкету, где можете указать желаемый характер мероприятий (более спокойные или активные, интеллектуальные и т.д), а так же отметить возраст и пол человека, который будет посещать мероприятия📸"+
"\nСостав коробочки остается для Вас сюрпризом до получения, но если что-то окажется совсем не подходящим мы обязательно предложим замену🎁"
+"\n\nНажми *#* чтобы вернуться в главное меню"
);
break;
case "2":
client.sendMessage(msg.from,
"*2. Срок действия сертификатов? Кто может посещать события?*" +
"\nВсе сертификаты в коробочке имеют единый срок действия - 30 дней. При заказе коробочки Вы можете выбрать дату начала действия билетов именно с выбранной даты начинается срок действия коробочки. Исключение составляют посещения концертов, показов, спектаклей, - такие мероприятия, как понимаете, имеют фиксированную дату😊. Если дата Вам не подойдет, мы всегда предложим варианты для замены:) Посещать мероприятия всегда можно разными компаниями, тк билеты не именные. 🙆"+
+"\n\nНажми *#* чтобы вернуться в главное меню"
);
break;
case "3":
client.sendMessage(msg.from,
"*3. Как заказать?*" +
"\nЗаказ вы можете оформить на нашем сайте https://todobox.ru/"+
"\nЧтобы коробочка была физическая, на сайте нужно выбрать вариант «подарочная коробочка»🎁."
+"\n\nНажми *#* чтобы вернуться в главное меню"
);
break;
case "4":
client.sendMessage(msg.from,
"*4. Как получить коробочку?*" +
"\nЕсть 2 варианта получения коробочки😊:"+
"\n\n- подарочную коробочку можно самостоятельно забрать из нашего офиса или мы отправим коробочку курьерской доставкой💌. Доставка осуществляется в тот же день, если Вы совершили покупку до 17 вечера. После 17.00 доставка осуществляется на следующий день. Стоимость доставки составляет 350-500 рублей (в пределах МКАД) стоимость доставки за МКАД рассчитывается индивидуально🤗."+
"\n- электронный формат приходит на почту в день заказа, если он был сделан до 19:00 вечера, если анкета была заполнена после 19:00, коробочка придет к Вам на следующий день с 11 до 20"
+"\n\nНажми *#* чтобы вернуться в главное меню"
);
break;
case "5":
client.sendMessage(msg.from,
"*5. Что, если мне не понравится коробочка?*" +
"\nПри получении Вам обязательно расскажут, что внутри! Если Вам не понравится содержимое мы предложим варианты для замены в офисе, при получении электронной коробочки - направим список мероприятия для замены на электронную почту! Если вдруг Вам абсолютно ничего не подойдет мы удивимися, но вернем деньги!❤"
+"\n\nНажми *#* чтобы вернуться в главное меню"
);
break;
case "6":
client.sendMessage(msg.from,
"*6. График работы и как нас найти?*" +
"\nМы находимся по адресу:"+
"\nст.м. Площадь Революции/Театральная/ Лубянка , ул. Никольская, 17 (КИК «Славянский»), 1ый этаж по коридору вдоль окон, первый поворот налево, предпоследняя дверь)"+
"\nМаршрут с фото можно посмотреть здесь https://drive.google.com/drive/folders/1kCVhwFFxQEx-VZ8nFUy5e0KqjrJulSgz?usp=sharing или в историях в инстаграм"
+"\n\nНажми *#* чтобы вернуться в главное меню"
);
break;
case "7":
client.sendMessage(msg.from,
"*7. Подробнее о To Do Box Plus*" +
"\n*To Do Box Plus - это* 4+2 супер специальных впечатления! Самые крутые впечатления и мероприятия города, которые мы подберем по твоей анкете! 🎁"+
"\n*Только в этой версии возможно продление четырех событий на следующий, если ты что то не успел пройти!* 🎉"+
"\nПодарочная упаковка и бант на твой выбор идет в подарок! (С днем рождения, маме, любимому и еще + 20 упаковок на выбор)❤"
+"\n\nНажми *#* чтобы вернуться в главное меню"
);
break;
case "8":
client.sendMessage(msg.from,
"*8. Подробнее о подарочном сертификате*" +
"\nПодарочный сертификат - это идеальный вариант для подарка, сертификат действует год с момента покупки! В любой момент обладатель сертификата может обратиться к нам и получить коробочку! Вместе с ним мы определимся с выбором месяца и подборкой впечатлений!🎉Подарочный сертификат можно получить на электронную почту или самовывозом из нашего офиса (доплат никаких нет, все зависит от удобства получения)📩"
+"\n\nНажми *#* чтобы вернуться в главное меню"
);
break;
case "9":
client.sendMessage(msg.from,
"*9. Подробнее о подписке на 3/6 месяцев*" +
"\nТри или шесть месяцев крутых впечатлений, каждое на два лица! Каждый месяц новые места! Ты можешь выбрать любой месяц для получения, переносить и замораживать события! У тебя всегда есть возможность выбора как удобнее получать коробочки - на электронную почту или в подарочном варианте! И да, крутая подарочная упаковка и бант идет в подарок! Если подписка будет как подарок, то можно получить первую коробочку по подписке, а на остальные коробочки - подарочный сертификат!"
+"\n\nНажми *#* чтобы вернуться в главное меню"
);
break;
case "10":
client.sendMessage(msg.from,
"*10. Подробнее о подписке NON STOP*" +
"\nКаждый месяц получай 4 впечатления на двоих по выгодной цене! 📩"+
"\nНе нужно каждый раз заходить на сайт, оплати сейчас и все остальные платежи будут автоматическими + каждый раз новая анкета и классная упаковка в подарок! 🎁"+
"\n_* - за первую коробочку ты платишь как обычно 1290 за физическую или 990 за электронную,а дальше - всегда меньше!😮_"
+"\n\nНажми *#* чтобы вернуться в главное меню"
);
break;
case "11":
client.sendMessage(msg.from,
"*11) Акции*" +
"\nЧто же мы для тебя приготовили?"+
"\n🎯Если Вы собираетесь купить две коробочки или больше, мы выставим Вам индивидуальный счёт на оплату. На каждую последующую коробочку Вы получите скидку 10%! Для этого напишите нам на почту: “Я хочу 2 (или больше) коробочек)”, а мы в ответ отправим ссылку для оплаты"+
"\n🎯Если ты не успел посетить мероприятия из прошлой коробочки - пришли нам фотографию сертификата, а мы сделаем скидку на покупку коробочки 10%! И пришлем секретную ссылку на оплату со скидкой!:)"+
"\n🎯Понравились мероприятия? Обязательно делись отзывами в социальных сетях - за каждые две фотографии с #todobox, отметкой нас и нашего партнера мы подарим еще один сертификат!:) "+
"\n🎯Если вы хотите больше 10 коробочек. Отправьте заявку на почту corporate@todobox.ru Мы рассчитаем индивидуальную стоимость для вашего заказа."
+"\n\nНажми *#* чтобы вернуться в главное меню"
);
break;
case "12":
client.sendMessage(msg.from,
"*12. Оставить заявку на звонок*"
+"\n\nНажми *#* чтобы вернуться в главное меню"
);
break;
default:
client.setPrevMessage("main");
client.sendMessage(msg.from, "Я не смог распознать команду( Нажми *#* чтобы вернуться в главное меню");
}
} else {
client.setPrevMessage("main");
client.sendMessage(msg.from, "Я не смог распознать команду( Нажми *#* чтобы вернуться в главное меню");
}
});