fork download
  1. const config = require('./config.js');
  2. const restify = require('restify');
  3. const builder = require('botbuilder');
  4. var MongoClient = require('mongodb').MongoClient
  5. , assert = require('assert');
  6. var autoIncrement = require("mongodb-autoincrement");
  7. var express = require("express");
  8.  
  9. var app = express();
  10. //var snd = require("./gui.js")
  11. ////////variable
  12. var name;
  13. var fathername;
  14. var data;
  15. var savedAddress;
  16. var deal;
  17.  
  18. // Connection to Microsoft Bot Framework
  19. const connector = new builder.ChatConnector({
  20. appId: config.appId,
  21. appPassword: config.appPassword
  22. });
  23.  
  24. // Server Init
  25. const server = restify.createServer();
  26. server.listen(8080);
  27. server.post('/', connector.listen());
  28.  
  29. const bot = new builder.UniversalBot(connector);
  30. server.post('/api/messages', connector.listen());
  31.  
  32. // Anytime the major version is incremented any existing conversations will be restarted.
  33. bot.use(builder.Middleware.dialogVersion({ version: 1.0, resetCommand: /^reset/i }));
  34.  
  35. //=========================================================
  36. // Bots Global Actions
  37. //=========================================================
  38.  
  39. bot.beginDialogAction('الغاء الاشتراك', '/deleteData', { matches: /^الغاء الاشتراك|إلغاء الاشتراك/i });
  40. //bot.endConversationAction('الغاء الاشتراك', 'تم إلغاء الاشتراك', { matches: /^الغاء الاشتراك|إلغاء الاشتراك/i });
  41. bot.beginDialogAction('اشتراك', '/menu', { matches: /^اشتراك/i });
  42. bot.beginDialogAction('تواصل', '/contact', { matches: /^تواصل/i });
  43. bot.beginDialogAction('Get Started', '/', { matches: /^Get Started/i });
  44.  
  45. // Install logging middleware
  46. /*bot.use({
  47. botbuilder: function (session, next) {
  48. if (/^log on/i.test(session.message.text)) {
  49. session.userData.isLogging = true;
  50. session.send('Logging is now turned on');
  51. } else if (/^log off/i.test(session.message.text)) {
  52. session.userData.isLogging = false;
  53. session.send('Logging is now turned off');
  54. } else {
  55. if (session.userData.isLogging) {
  56. console.log('Message Received: ', session.message.text);
  57. }
  58. next();
  59. }
  60. }
  61. });
  62. */
  63. var savedAddress;
  64.  
  65. function sendProactiveMessage (msg1, addr) {
  66. var msg = new builder.Message().address(addr);
  67. msg.text(msg1);
  68. msg.textLocale('en-US');
  69. bot.send(msg);
  70. return 1;
  71. }
  72.  
  73. server.get('/api/CustomWebApi', (req, res, next) => {
  74. sendProactiveMessage("hi", savedAddress);
  75. res.send('تم الارسال');
  76. next();
  77. }
  78. );
  79.  
  80. bot.dialog('/', [
  81. function (session) {
  82. var card = new builder.HeroCard(session)
  83. .title("Super Mark")
  84. .text("أهلأ وسهلاً بكم.")
  85. .images([
  86. builder.CardImage.create(session, "")
  87. ]);
  88. var msg = new builder.Message(session).attachments([card]);
  89. session.send(msg);
  90. session.send(" أعرفكم بنفسي: اسمي Super Mark أعمل كبوت لأساعدكم في الحصول على علاماتكم :D.");
  91. session.beginDialog('/help');
  92.  
  93. }
  94. ]);
  95.  
  96. bot.dialog('/menu', [
  97.  
  98. function (session) {
  99. savedAddress = session.message.address ;
  100. savedAddress.id = '0';
  101. savedAddress = session.message.address;
  102. console.log(savedAddress);
  103. var msg = new builder.Message(session)
  104. .attachmentLayout(builder.AttachmentLayout.carousel)
  105. .attachments([
  106. new builder.HeroCard(session)
  107. .title("هندسة الحواسيب والأتمتة")
  108. .subtitle("قسم هندسة الحواسيب والأتمتة في كلية الهندسة الميكانيكية والكهربائية في جامعة دمشق.")
  109. .images([
  110. builder.CardImage.create(session, "")
  111. .tap(builder.CardAction.showImage(session, "")),
  112. ])
  113. .buttons([
  114. builder.CardAction.imBack(session, "select:100", "اختيار")
  115. ]),
  116. new builder.HeroCard(session)
  117. .title("هندسة الطاقة الكهربائية")
  118. .subtitle("قسم هندسة ")
  119. .images([
  120. builder.CardImage.create(session, "")
  121. .tap(builder.CardAction.showImage(session, "")),
  122. ])
  123. .buttons([
  124. builder.CardAction.imBack(session, "select:101", "اختيار")
  125. ]),
  126.  
  127. new builder.HeroCard(session)
  128. .title("هندسة الالكترون والاتصالات")
  129. .subtitle("قسم هندسة ")
  130. .images([
  131. builder.CardImage.create(session, "")
  132. .tap(builder.CardAction.showImage(session, "")),
  133. ])
  134. .buttons([
  135. builder.CardAction.imBack(session, "select:102", "اختيار")
  136. ]),
  137.  
  138. new builder.HeroCard(session)
  139. .title("الهندسة الطبية")
  140. .subtitle("قسم هندسة ")
  141. .images([
  142. builder.CardImage.create(session, "")
  143. .tap(builder.CardAction.showImage(session, "")),
  144. ])
  145. .buttons([
  146. builder.CardAction.imBack(session, "select:103", "اختيار")
  147. ]),
  148.  
  149. new builder.HeroCard(session)
  150. .title("هندسة الميكانيك العام")
  151. .subtitle("قسم هندسة ")
  152. .images([
  153. builder.CardImage.create(session, "")
  154. .tap(builder.CardAction.showImage(session, "")),
  155. ])
  156. .buttons([
  157. builder.CardAction.imBack(session, "select:104", "اختيار")
  158. ]),
  159.  
  160. new builder.HeroCard(session)
  161. .title("هندسة التصميم الميكانيكي")
  162. .subtitle("قسم هندسة ")
  163. .images([
  164. builder.CardImage.create(session, "")
  165. .tap(builder.CardAction.showImage(session, "")),
  166. ])
  167. .buttons([
  168. builder.CardAction.imBack(session, "select:105", "اختيار")
  169. ]),
  170.  
  171. new builder.HeroCard(session)
  172. .title("هندسة الغزل والنسيج")
  173. .subtitle("قسم هندسة ")
  174. .images([
  175. builder.CardImage.create(session, "")
  176. .tap(builder.CardAction.showImage(session, "")),
  177. ])
  178. .buttons([
  179. builder.CardAction.imBack(session, "select:106", "اختيار")
  180. ]),
  181.  
  182. new builder.HeroCard(session)
  183. .title("هندسة الطاقات المتجددة")
  184. .subtitle("قسم هندسة ")
  185. .images([
  186. builder.CardImage.create(session, "")
  187. .tap(builder.CardAction.showImage(session, "")),
  188. ])
  189. .buttons([
  190. builder.CardAction.imBack(session, "select:107", "اختيار")
  191. ]),
  192.  
  193. new builder.HeroCard(session)
  194. .title("هندسة السيارات والآليات الثقيلة")
  195.  
  196. .subtitle("قسم هندسة ")
  197. .images([
  198. builder.CardImage.create(session, "")
  199. .tap(builder.CardAction.showImage(session, "")),
  200. ])
  201. .buttons([
  202. builder.CardAction.imBack(session, "select:108", "اختيار")
  203. ]),
  204.  
  205. ]);
  206. builder.Prompts.choice(session, msg, "select:100|select:101|select:102|select:103|select:104|select:105|select:106|select:107|select:108");
  207. },
  208.  
  209. function (session, results) {
  210. var action, study;
  211. var kvPair = results.response.entity.split(':');
  212. switch (kvPair[0]) {
  213. case 'select':
  214. action = 'selected';
  215. break;
  216. }
  217. switch (kvPair[1]) {
  218. case '100':
  219. study = "hawaseeb";
  220. break;
  221. case '101':
  222. study = "taka";
  223. break;
  224. case '102':
  225. study = "itisalat";
  226. break;
  227. case '103':
  228. study = "tbia";
  229. break;
  230. case '104':
  231. study = "mikaneek";
  232. break;
  233. case '105':
  234. study = "tsmeem";
  235. break;
  236. case '106':
  237. study = "ghzl";
  238. break;
  239. case '107':
  240. study = "motajadeda";
  241. break;
  242. case '108':
  243. study = "syarat";
  244. break;
  245. }
  246. if (results.response) {
  247. session.beginDialog('/' + study);
  248. }
  249. else {
  250. // Exit the menu
  251. session.endDialog();
  252. }
  253. }
  254.  
  255. ]).reloadAction('reloadMenu', null, { matches: /^menu|show menu/i });
  256.  
  257. bot.dialog('/help', [
  258. function (session) {
  259. session.send("في حال استخدام نسخة قديمة من تطبيق الـ messanger يرجى القيام بتحديثها.");
  260. session.endDialog("\n\n* للاشتراك قم بكتابة أو باختيار: 'اشتراك' من القائمة \n\n* لإلغاء الاشتراك قم بكتابة أو باختيار: 'إلغاء الاشتراك' من القائمة \n\n* للتواصل مع المطور قم بكتابة أو باختيار: 'تواصل' من القائمة");
  261. }
  262. ]);
  263.  
  264. bot.dialog('/contact', [
  265. function (session) {
  266. session.endDialog("\n\n* الحساب الشخصي الخاص بالمطور: \n\n ");
  267. }
  268. ]);
  269.  
  270. bot.dialog('/deleteData',
  271. function (session) {
  272. MongoClient.connect("mongodb://localhost:27017/hawaseeb", function (err, db) {
  273. assert.equal(null, err);
  274. var coll = db.collection("hawaseeb_profile");
  275.  
  276. coll.findOne({ 'userdata': savedAddress }, function (err, docs) {
  277. if (docs != null) {
  278. console.log('ssssss')
  279. coll.findOneAndDelete({ 'userdata': savedAddress });
  280. session.send("تم الغاء الاشتراك");
  281. session.endConversation();
  282. }
  283. });
  284. });
  285.  
  286.  
  287.  
  288. }
  289. );
  290.  
  291. //==================================================================================================================
  292.  
  293. bot.dialog('/hawaseeb', [
  294. function (session) {
  295. builder.Prompts.choice(session, "من فضلك، قم باختيار سنتك الدراسية:", "السنة:1|السنة:2|السنة:3|السنة:4|السنة:5");
  296. },
  297.  
  298. function (session, results) {
  299. var year;
  300. var kvPair = results.response.entity.split(':');
  301. switch (kvPair[1]) {
  302. case '1':
  303. year = "hawaseeb1";
  304. break;
  305. case '2':
  306. year = "hawaseeb2";
  307. break;
  308. case '3':
  309. year = "hawaseeb3";
  310. break;
  311. case '4':
  312. year = "hawaseeb4";
  313. break;
  314. case '5':
  315. year = "hawaseeb5";
  316. break;
  317. }
  318. if (results.response) {
  319. session.beginDialog('/' + year);
  320. }
  321. else {
  322. // Exit the menu
  323. session.endDialog();
  324. }
  325. }
  326.  
  327. ]);
  328.  
  329. bot.dialog('/hawaseeb1', [
  330. function (session) {
  331. MongoClient.connect("mongodb://localhost:27017/hawaseeb_profile", function (err, db1) {
  332. var coll = db1.collection("hawaseeb_profile");
  333. coll.findOne({'userdata': savedAddress }, function (err, docs1) {
  334. if (docs1 == null) {
  335. builder.Prompts.text(session, "من فضلك، قم بكتابة اسمك كما في القوائم");
  336. }
  337. else{
  338. session.endDialog("انت مشترك معنا ^_^");
  339. }
  340. });
  341. });
  342. },
  343. function (session, results) {
  344. name = results.response;
  345.  
  346. MongoClient.connect("mongodb://localhost:27017/hawaseeb", function (err, db) {
  347. assert.equal(null, err);
  348. var collection = db.collection("hawaseeb1");
  349. name = name.replace(/أ/g, 'ا');
  350. name = name.replace(/إ/g, 'ا');
  351. name = name.replace(/آ/g, 'ا');
  352. name = name.replace(/ة/g, 'ه');
  353. collection.findOne({'name': name }, function (err, docs) {
  354. console.log(name);
  355. if (docs == null) {
  356. builder.Prompts.text(session, "يرجى التأكد من الاسم واعادة كتابته");
  357. session.begindialog('/hawaseeb1');
  358. }
  359. else {
  360. fathername = JSON.stringify(docs.fathername);
  361. fathername= fathername.replace(/"/g, '');
  362. fathername = fathername.toString('utf-8').trim();
  363. console.log(fathername);
  364. builder.Prompts.text(session, "رجاء اكتب اسم الاب"); }
  365. });
  366. });
  367. },
  368. function (session, results) {
  369. var fathername1 = results.response;
  370. console.log(fathername1)
  371. fathername1 = fathername1.toString('utf-8').trim();
  372.  
  373. if (fathername === fathername1 ) {
  374. MongoClient.connect("mongodb://localhost:27017/hawaseeb_profile", function (err, db1) {
  375. var auto = autoIncrement.getNextSequence(db1, 'hawaseeb_profile', function (err, autoIndex) {
  376. var profile = db1.collection('hawaseeb_profile');
  377. profile.insert({
  378. id: autoIndex,
  379. 'name': name,
  380. 'fathername': fathername,
  381. 'userdata': savedAddress
  382. });
  383. session.endDialog("شكراً لاشتراكك، سيتم إرسال العلامات الخاصة بك فور صدورها.");
  384. });
  385. });
  386. }
  387.  
  388. else {
  389. builder.Prompts.text(session, "يرجى التأكد من الاسم واعادة كتابته");
  390. session.endDialog("اسم الاب خاطئ يرجى اعادة الاشتراك ");
  391. }
  392.  
  393. }
  394. ]);
  395. bot.dialog('/hawaseeb2', [
  396. function (session) {
  397. MongoClient.connect("mongodb://localhost:27017/hawaseeb_profile", function (err, db1) {
  398. var coll = db1.collection("hawaseeb_profile");
  399. coll.findOne({'userdata': savedAddress }, function (err, docs1) {
  400. if (docs1 == null) {
  401. builder.Prompts.text(session, "من فضلك، قم بكتابة اسمك كما في القوائم");
  402. }
  403. else{
  404. session.endDialog("انت مشترك معنا ^_^");
  405. }
  406. });
  407. });
  408. },
  409. function (session, results) {
  410. name = results.response;
  411.  
  412. MongoClient.connect("mongodb://localhost:27017/hawaseeb", function (err, db) {
  413. assert.equal(null, err);
  414. var collection = db.collection("hawaseeb2");
  415. name = name.replace(/أ/g, 'ا');
  416. name = name.replace(/إ/g, 'ا');
  417. name = name.replace(/آ/g, 'ا');
  418. name = name.replace(/ة/g, 'ه');
  419. collection.findOne({'name': name }, function (err, docs) {
  420. console.log(name);
  421. if (docs == null) {
  422. builder.Prompts.text(session, "يرجى التأكد من الاسم واعادة كتابته");
  423. session.begindialog('/hawaseeb32');
  424. }
  425. else {
  426. fathername = JSON.stringify(docs.fathername);
  427. fathername= fathername.replace(/"/g, '');
  428. fathername = fathername.toString('utf-8').trim();
  429. console.log(fathername);
  430. builder.Prompts.text(session, "رجاء اكتب اسم الاب"); }
  431. });
  432. });
  433. },
  434. function (session, results) {
  435. var fathername1 = results.response;
  436. console.log(fathername1)
  437. fathername1 = fathername1.toString('utf-8').trim();
  438.  
  439. if (fathername === fathername1 ) {
  440. MongoClient.connect("mongodb://localhost:27017/hawaseeb_profile", function (err, db1) {
  441. var auto = autoIncrement.getNextSequence(db1, 'hawaseeb_profile', function (err, autoIndex) {
  442. var profile = db1.collection('hawaseeb_profile');
  443. profile.insert({
  444. id: autoIndex,
  445. 'name': name,
  446. 'fathername': fathername,
  447. 'userdata': savedAddress
  448. });
  449. session.endDialog("شكراً لاشتراكك، سيتم إرسال العلامات الخاصة بك فور صدورها.");
  450. });
  451. });
  452. }
  453.  
  454. else {
  455. builder.Prompts.text(session, "يرجى التأكد من الاسم واعادة كتابته");
  456. session.endDialog("اسم الاب خاطئ يرجى اعادة الاشتراك ");
  457. }
  458.  
  459. }
  460. ]);
  461. bot.dialog('/hawaseeb3', [
  462. function (session) {
  463. MongoClient.connect("mongodb://localhost:27017/hawaseeb_profile", function (err, db1) {
  464. var coll = db1.collection("hawaseeb_profile");
  465. coll.findOne({'userdata': savedAddress }, function (err, docs1) {
  466. if (docs1 == null) {
  467. builder.Prompts.text(session, "من فضلك، قم بكتابة اسمك كما في القوائم");
  468. }
  469. else{
  470. session.endDialog("انت مشترك معنا ^_^");
  471. }
  472. });
  473. });
  474. },
  475. function (session, results) {
  476. name = results.response;
  477.  
  478. MongoClient.connect("mongodb://localhost:27017/hawaseeb", function (err, db) {
  479. assert.equal(null, err);
  480. var collection = db.collection("hawaseeb3");
  481. name = name.replace(/أ/g, 'ا');
  482. name = name.replace(/إ/g, 'ا');
  483. name = name.replace(/آ/g, 'ا');
  484. name = name.replace(/ة/g, 'ه');
  485. collection.findOne({'name': name }, function (err, docs) {
  486. console.log(name);
  487. if (docs == null) {
  488. builder.Prompts.text(session, "يرجى التأكد من الاسم واعادة كتابته");
  489. session.begindialog('/hawaseeb3');
  490. }
  491. else {
  492. fathername = JSON.stringify(docs.fathername);
  493. fathername= fathername.replace(/"/g, '');
  494. fathername = fathername.toString('utf-8').trim();
  495. console.log(fathername);
  496. builder.Prompts.text(session, "رجاء اكتب اسم الاب"); }
  497. });
  498. });
  499. },
  500. function (session, results) {
  501. var fathername1 = results.response;
  502. console.log(fathername1)
  503. fathername1 = fathername1.toString('utf-8').trim();
  504.  
  505. if (fathername === fathername1 ) {
  506. MongoClient.connect("mongodb://localhost:27017/hawaseeb_profile", function (err, db1) {
  507. var auto = autoIncrement.getNextSequence(db1, 'hawaseeb_profile', function (err, autoIndex) {
  508. var profile = db1.collection('hawaseeb_profile');
  509. profile.insert({
  510. id: autoIndex,
  511. 'name': name,
  512. 'fathername': fathername,
  513. 'userdata': savedAddress
  514. });
  515. session.endDialog("شكراً لاشتراكك، سيتم إرسال العلامات الخاصة بك فور صدورها.");
  516. });
  517. });
  518. }
  519.  
  520. else {
  521. builder.Prompts.text(session, "يرجى التأكد من الاسم واعادة كتابته");
  522. session.endDialog("اسم الاب خاطئ يرجى اعادة الاشتراك ");
  523. }
  524.  
  525. }
  526. ]);
  527.  
  528. bot.dialog('/hawaseeb4', [
  529. function (session) {
  530. builder.Prompts.choice(session, "من فضلك، قم باختيار فرعك:", "الحواسيب|التحكم");
  531. },
  532. function (session, results) {
  533. var part;
  534. switch (results.response.entity) {
  535. case 'التحكم':
  536. part = "hawaseeb4au";
  537. break;
  538. case 'الحواسيب':
  539. part = "hawaseeb4co";
  540. break;
  541. }
  542. if (results.response) {
  543. session.beginDialog('/' + part);
  544. }
  545. else {
  546. // Exit the menu
  547. session.endDialog();
  548. }
  549. }
  550. ]);
  551.  
  552. bot.dialog('/hawaseeb4au', [
  553. function (session) {
  554. MongoClient.connect("mongodb://localhost:27017/hawaseeb_profile", function (err, db1) {
  555. var coll = db1.collection("hawaseeb_profile");
  556. coll.findOne({'userdata': savedAddress }, function (err, docs1) {
  557. if (docs1 == null) {
  558. builder.Prompts.text(session, "من فضلك، قم بكتابة اسمك كما في القوائم");
  559. }
  560. else{
  561. session.endDialog("انت مشترك معنا ^_^");
  562. }
  563. });
  564. });
  565. },
  566. function (session, results) {
  567. name = results.response;
  568.  
  569. MongoClient.connect("mongodb://localhost:27017/hawaseeb", function (err, db) {
  570. assert.equal(null, err);
  571. var collection = db.collection("hawaseeb4au");
  572. name = name.replace(/أ/g, 'ا');
  573. name = name.replace(/إ/g, 'ا');
  574. name = name.replace(/آ/g, 'ا');
  575. name = name.replace(/ة/g, 'ه');
  576. collection.findOne({'name': name }, function (err, docs) {
  577. console.log(name);
  578. if (docs == null) {
  579. builder.Prompts.text(session, "يرجى التأكد من الاسم واعادة كتابته");
  580. session.begindialog('/hawaseeb4au');
  581. }
  582. else {
  583. fathername = JSON.stringify(docs.fathername);
  584. fathername= fathername.replace(/"/g, '');
  585. fathername = fathername.toString('utf-8').trim();
  586. console.log(fathername);
  587. builder.Prompts.text(session, "رجاء اكتب اسم الاب"); }
  588. });
  589. });
  590. },
  591. function (session, results) {
  592. var fathername1 = results.response;
  593. console.log(fathername1)
  594. fathername1 = fathername1.toString('utf-8').trim();
  595.  
  596. if (fathername === fathername1 ) {
  597. MongoClient.connect("mongodb://localhost:27017/hawaseeb_profile", function (err, db1) {
  598. var auto = autoIncrement.getNextSequence(db1, 'hawaseeb_profile', function (err, autoIndex) {
  599. var profile = db1.collection('hawaseeb_profile');
  600. profile.insert({
  601. id: autoIndex,
  602. 'name': name,
  603. 'fathername': fathername,
  604. 'userdata': savedAddress
  605. });
  606. session.endDialog("شكراً لاشتراكك، سيتم إرسال العلامات الخاصة بك فور صدورها.");
  607. });
  608. });
  609. }
  610.  
  611. else {
  612. builder.Prompts.text(session, "يرجى التأكد من الاسم واعادة كتابته");
  613. session.endDialog("اسم الاب خاطئ يرجى اعادة الاشتراك ");
  614. }
  615.  
  616. }
  617. ]);
  618.  
  619. bot.dialog('/hawaseeb4co', [
  620. function (session) {
  621. MongoClient.connect("mongodb://localhost:27017/hawaseeb_profile", function (err, db1) {
  622. var coll = db1.collection("hawaseeb_profile");
  623. coll.findOne({'userdata': savedAddress }, function (err, docs1) {
  624. if (docs1 == null) {
  625. builder.Prompts.text(session, "من فضلك، قم بكتابة اسمك كما في القوائم");
  626. }
  627. else{
  628. session.endDialog("انت مشترك معنا ^_^");
  629. }
  630. });
  631. });
  632. },
  633. function (session, results) {
  634. name = results.response;
  635.  
  636. MongoClient.connect("mongodb://localhost:27017/hawaseeb", function (err, db) {
  637. assert.equal(null, err);
  638. var collection = db.collection("hawaseeb4co");
  639. name = name.replace(/أ/g, 'ا');
  640. name = name.replace(/إ/g, 'ا');
  641. name = name.replace(/آ/g, 'ا');
  642. name = name.replace(/ة/g, 'ه');
  643. collection.findOne({'name': name }, function (err, docs) {
  644. console.log(name);
  645. if (docs == null) {
  646. builder.Prompts.text(session, "يرجى التأكد من الاسم واعادة كتابته");
  647. session.begindialog('/hawaseeb4co');
  648. }
  649. else {
  650. fathername = JSON.stringify(docs.fathername);
  651. fathername= fathername.replace(/"/g, '');
  652. fathername = fathername.toString('utf-8').trim();
  653. console.log(fathername);
  654. builder.Prompts.text(session, "رجاء اكتب اسم الاب"); }
  655. });
  656. });
  657. },
  658. function (session, results) {
  659. var fathername1 = results.response;
  660. console.log(fathername1)
  661. fathername1 = fathername1.toString('utf-8').trim();
  662.  
  663. if (fathername === fathername1 ) {
  664. MongoClient.connect("mongodb://localhost:27017/hawaseeb_profile", function (err, db1) {
  665. var auto = autoIncrement.getNextSequence(db1, 'hawaseeb_profile', function (err, autoIndex) {
  666. var profile = db1.collection('hawaseeb_profile');
  667. profile.insert({
  668. id: autoIndex,
  669. 'name': name,
  670. 'fathername': fathername,
  671. 'userdata': savedAddress
  672. });
  673. session.endDialog("شكراً لاشتراكك، سيتم إرسال العلامات الخاصة بك فور صدورها.");
  674. });
  675. });
  676. }
  677.  
  678. else {
  679. builder.Prompts.text(session, "يرجى التأكد من الاسم واعادة كتابته");
  680. session.endDialog("اسم الاب خاطئ يرجى اعادة الاشتراك ");
  681. }
  682.  
  683. }
  684. ]);
  685.  
  686. bot.dialog('/hawaseeb5', [
  687. function (session) {
  688. builder.Prompts.choice(session, "من فضلك، قم باختيار فرعك:", "الحواسيب|التحكم");
  689. },
  690. function (session, results) {
  691. var part;
  692. switch (results.response.entity) {
  693. case 'التحكم':
  694. part = "hawaseeb5au";
  695. break;
  696. case 'الحواسيب':
  697. part = "hawaseeb5co";
  698. break;
  699. }
  700. if (results.response) {
  701. session.beginDialog('/' + part);
  702. }
  703. else {
  704. // Exit the menu
  705. session.endDialog();
  706. }
  707. }
  708. ]);
  709.  
  710. bot.dialog('/hawaseeb5au', [
  711. function (session) {
  712. MongoClient.connect("mongodb://localhost:27017/hawaseeb_profile", function (err, db1) {
  713. var coll = db1.collection("hawaseeb_profile");
  714. coll.findOne({'userdata': savedAddress }, function (err, docs1) {
  715. if (docs1 == null) {
  716. builder.Prompts.text(session, "من فضلك، قم بكتابة اسمك كما في القوائم");
  717. }
  718. else{
  719. session.endDialog("انت مشترك معنا ^_^");
  720. }
  721. });
  722. });
  723. },
  724. function (session, results) {
  725. name = results.response;
  726.  
  727. MongoClient.connect("mongodb://localhost:27017/hawaseeb", function (err, db) {
  728. assert.equal(null, err);
  729. var collection = db.collection("hawaseeb5au");
  730. name = name.replace(/أ/g, 'ا');
  731. name = name.replace(/إ/g, 'ا');
  732. name = name.replace(/آ/g, 'ا');
  733. name = name.replace(/ة/g, 'ه');
  734. collection.findOne({'name': name }, function (err, docs) {
  735. console.log(name);
  736. if (docs == null) {
  737. builder.Prompts.text(session, "يرجى التأكد من الاسم واعادة كتابته");
  738. session.begindialog('/hawaseeb5au');
  739. }
  740. else {
  741. fathername = JSON.stringify(docs.fathername);
  742. fathername= fathername.replace(/"/g, '');
  743. fathername = fathername.toString('utf-8').trim();
  744. console.log(fathername);
  745. builder.Prompts.text(session, "رجاء اكتب اسم الاب"); }
  746. });
  747. });
  748. },
  749. function (session, results) {
  750. var fathername1 = results.response;
  751. console.log(fathername1)
  752. fathername1 = fathername1.toString('utf-8').trim();
  753.  
  754. if (fathername === fathername1 ) {
  755. MongoClient.connect("mongodb://localhost:27017/hawaseeb_profile", function (err, db1) {
  756. var auto = autoIncrement.getNextSequence(db1, 'hawaseeb_profile', function (err, autoIndex) {
  757. var profile = db1.collection('hawaseeb_profile');
  758. profile.insert({
  759. id: autoIndex,
  760. 'name': name,
  761. 'fathername': fathername,
  762. 'userdata': savedAddress
  763. });
  764. session.endDialog("شكراً لاشتراكك، سيتم إرسال العلامات الخاصة بك فور صدورها.");
  765. });
  766. });
  767. }
  768.  
  769. else {
  770. builder.Prompts.text(session, "يرجى التأكد من الاسم واعادة كتابته");
  771. session.endDialog("اسم الاب خاطئ يرجى اعادة الاشتراك ");
  772. }
  773.  
  774. }
  775. ]);
  776.  
  777. bot.dialog('/hawaseeb5co', [
  778. function (session) {
  779. MongoClient.connect("mongodb://localhost:27017/hawaseeb_profile", function (err, db1) {
  780. var coll = db1.collection("hawaseeb_profile");
  781. coll.findOne({'userdata': savedAddress }, function (err, docs1) {
  782. if (docs1 == null) {
  783. builder.Prompts.text(session, "من فضلك، قم بكتابة اسمك كما في القوائم");
  784. }
  785. else{
  786. session.endDialog("انت مشترك معنا ^_^");
  787. }
  788. });
  789. });
  790. },
  791. function (session, results) {
  792. name = results.response;
  793.  
  794. MongoClient.connect("mongodb://localhost:27017/hawaseeb", function (err, db) {
  795. assert.equal(null, err);
  796. var collection = db.collection("hawaseeb5co");
  797. name = name.replace(/أ/g, 'ا');
  798. name = name.replace(/إ/g, 'ا');
  799. name = name.replace(/آ/g, 'ا');
  800. name = name.replace(/ة/g, 'ه');
  801. collection.findOne({'name': name }, function (err, docs) {
  802. console.log(name);
  803. if (docs == null) {
  804. builder.Prompts.text(session, "يرجى التأكد من الاسم واعادة كتابته");
  805. session.begindialog('/hawaseeb5co');
  806. }
  807. else {
  808. fathername = JSON.stringify(docs.fathername);
  809. fathername= fathername.replace(/"/g, '');
  810. fathername = fathername.toString('utf-8').trim();
  811. console.log(fathername);
  812. builder.Prompts.text(session, "رجاء اكتب اسم الاب"); }
  813. });
  814. });
  815. },
  816. function (session, results) {
  817. var fathername1 = results.response;
  818. console.log(fathername1)
  819. fathername1 = fathername1.toString('utf-8').trim();
  820.  
  821. if (fathername === fathername1 ) {
  822. MongoClient.connect("mongodb://localhost:27017/hawaseeb_profile", function (err, db1) {
  823. var auto = autoIncrement.getNextSequence(db1, 'hawaseeb_profile', function (err, autoIndex) {
  824. var profile = db1.collection('hawaseeb_profile');
  825. profile.insert({
  826. id: autoIndex,
  827. 'name': name,
  828. 'fathername': fathername,
  829. 'userdata': savedAddress
  830. });
  831. session.endDialog("شكراً لاشتراكك، سيتم إرسال العلامات الخاصة بك فور صدورها.");
  832. });
  833. });
  834. }
  835.  
  836. else {
  837. builder.Prompts.text(session, "يرجى التأكد من الاسم واعادة كتابته");
  838. session.endDialog("اسم الاب خاطئ يرجى اعادة الاشتراك ");
  839. }
  840.  
  841. }
  842. ]);
  843.  
  844. //==============================================================================================
  845.  
  846. bot.dialog('/taka', [
  847. function (session) {
  848. builder.Prompts.choice(session, "من فضلك، قم باختيار سنتك الدراسية:", "السنة:1|السنة:2|السنة:3|السنة:4|السنة:5");
  849. },
  850.  
  851. function (session, results) {
  852. var year;
  853. var kvPair = results.response.entity.split(':');
  854. switch (kvPair[1]) {
  855. case '1':
  856. year = "taka1";
  857. break;
  858. case '2':
  859. year = "taka2";
  860. break;
  861. case '3':
  862. year = "taka3";
  863. break;
  864. case '4':
  865. year = "taka4";
  866. break;
  867. case '5':
  868. year = "taka5";
  869. break;
  870. }
  871. if (results.response) {
  872. session.beginDialog('/' + year);
  873. }
  874. else {
  875. session.endDialog();
  876. }
  877. }
  878.  
  879. ]);
  880.  
  881. bot.dialog('/taka1', [
  882. function (session) {
  883. builder.Prompts.text(session, "من فضلك، قم بكتابة اسمك كما في القوائم");
  884. },
  885. function (session, results) {
  886. var name = results.response;
  887. var data = "hawaseeb";
  888. var deal = "hawaseeb1";
  889. assertname(data, name, deal);
  890. },
  891. function (session, results) {
  892. var fathername = results.response;
  893. assertfather(data, name, fathername, deal, saveAddress);
  894. }
  895.  
  896. ]);
  897.  
  898. bot.dialog('/taka2', [
  899. function (session) {
  900. builder.Prompts.text(session, "من فضلك، قم بكتابة اسمك كما في القوائم");
  901. },
  902. function (session, results) {
  903. var name = results.response;
  904. name = name.replace(/أ/g, 'ا');
  905. name = name.replace(/إ/g, 'ا');
  906. name = name.replace(/آ/g, 'ا');
  907. name = name.replace(/ة/g, 'ه');
  908.  
  909. session.userData.name = name;
  910. console.log(session.userData.name);
  911. builder.Prompts.number(session, "ما رقمك الامتحاني؟");
  912. },
  913. function (session, results) {
  914. var num = results.response;
  915. session.endDialog("شكراً لاشتراكك، سيتم إرسال العلامات الخاصة بك فور صدورها.");
  916. }
  917. ]);
  918. bot.dialog('/taka3', [
  919. function (session) {
  920. builder.Prompts.text(session, "من فضلك، قم بكتابة اسمك كما في القوائم");
  921. },
  922. function (session, results) {
  923. var name = results.response;
  924. name = name.replace(/أ/g, 'ا');
  925. name = name.replace(/إ/g, 'ا');
  926. name = name.replace(/آ/g, 'ا');
  927. name = name.replace(/ة/g, 'ه');
  928.  
  929. session.userData.name = name;
  930. console.log(session.userData.name);
  931. builder.Prompts.number(session, "ما رقمك الامتحاني؟");
  932. },
  933. function (session, results) {
  934. var num = results.response;
  935. session.endDialog("شكراً لاشتراكك، سيتم إرسال العلامات الخاصة بك فور صدورها.");
  936. }
  937. ]);
  938.  
  939. bot.dialog('/taka4', [
  940. function (session) {
  941. builder.Prompts.text(session, "من فضلك، قم بكتابة اسمك كما في القوائم");
  942. },
  943. function (session, results) {
  944. var name = results.response;
  945. name = name.replace(/أ/g, 'ا');
  946. name = name.replace(/إ/g, 'ا');
  947. name = name.replace(/آ/g, 'ا');
  948. name = name.replace(/ة/g, 'ه');
  949.  
  950. session.userData.name = name;
  951. console.log(session.userData.name);
  952. builder.Prompts.number(session, "ما رقمك الامتحاني؟");
  953. },
  954. function (session, results) {
  955. var num = results.response;
  956. session.endDialog("شكراً لاشتراكك، سيتم إرسال العلامات الخاصة بك فور صدورها.");
  957. }
  958. ]);
  959.  
  960. bot.dialog('/taka5', [
  961. function (session) {
  962. builder.Prompts.text(session, "من فضلك، قم بكتابة اسمك كما في القوائم");
  963. },
  964. function (session, results) {
  965. var name = results.response;
  966. name = name.replace(/أ/g, 'ا');
  967. name = name.replace(/إ/g, 'ا');
  968. name = name.replace(/آ/g, 'ا');
  969. name = name.replace(/ة/g, 'ه');
  970.  
  971. session.userData.name = name;
  972. console.log(session.userData.name);
  973. builder.Prompts.number(session, "ما رقمك الامتحاني؟");
  974. },
  975. function (session, results) {
  976. var num = results.response;
  977. session.endDialog("شكراً لاشتراكك، سيتم إرسال العلامات الخاصة بك فور صدورها.");
  978. }
  979. ]);
  980.  
  981. //=================================================================================================
  982.  
  983. bot.dialog('/itisalat', [
  984. function (session) {
  985. builder.Prompts.choice(session, "من فضلك، قم باختيار سنتك الدراسية:", "السنة:1|السنة:2|السنة:3|السنة:4|السنة:5");
  986. },
  987.  
  988. function (session, results) {
  989. var year;
  990. var kvPair = results.response.entity.split(':');
  991. switch (kvPair[1]) {
  992. case '1':
  993. year = "itisalat1";
  994. break;
  995. case '2':
  996. year = "itisalat2";
  997. break;
  998. case '3':
  999. year = "itisalat3";
  1000. break;
  1001. case '4':
  1002. year = "itisalat4";
  1003. break;
  1004. case '5':
  1005. year = "itisalat5";
  1006. break;
  1007. }
  1008. if (results.response) {
  1009. session.beginDialog('/' + year);
  1010. }
  1011. else {
  1012. // Exit the menu
  1013. session.endDialog();
  1014. }
  1015. }
  1016.  
  1017. ]);
  1018.  
  1019. bot.dialog('/itisalat1', [
  1020. function (session) {
  1021. MongoClient.connect("mongodb://localhost:27017/itisalat_profile", function (err, db1) {
  1022. var coll = db1.collection("itisalat1_profile");
  1023. coll.findOne({'userdata': savedAddress }, function (err, docs1) {
  1024. if (docs1 == null) {
  1025. builder.Prompts.text(session, "من فضلك، قم بكتابة اسمك كما في القوائم");
  1026. }
  1027. else{
  1028. session.endDialog("انت مشترك معنا ^_^");
  1029. }
  1030. });
  1031. });
  1032. },
  1033. function (session, results) {
  1034. name = results.response;
  1035.  
  1036. MongoClient.connect("mongodb://localhost:27017/itisalat", function (err, db) {
  1037. assert.equal(null, err);
  1038. var collection = db.collection("itisalat1");
  1039. name = name.replace(/أ/g, 'ا');
  1040. name = name.replace(/إ/g, 'ا');
  1041. name = name.replace(/آ/g, 'ا');
  1042. name = name.replace(/ة/g, 'ه');
  1043. collection.findOne({'name': name }, function (err, docs) {
  1044. console.log(name);
  1045. if (docs == null) {
  1046. builder.Prompts.text(session, "يرجى التأكد من الاسم واعادة كتابته");
  1047. session.begindialog('/itisalat1');
  1048. }
  1049. else {
  1050. fathername = JSON.stringify(docs.fathername);
  1051. fathername= fathername.replace(/"/g, '');
  1052. fathername = fathername.toString('utf-8').trim();
  1053. console.log(fathername);
  1054. builder.Prompts.text(session, "رجاء اكتب اسم الاب"); }
  1055. });
  1056. });
  1057. },
  1058. function (session, results) {
  1059. var fathername1 = results.response;
  1060. console.log(fathername1)
  1061. fathername1 = fathername1.toString('utf-8').trim();
  1062.  
  1063. if (fathername === fathername1 ) {
  1064. MongoClient.connect("mongodb://localhost:27017/itisalat_profile", function (err, db1) {
  1065. var auto = autoIncrement.getNextSequence(db1, 'itisalat_profile', function (err, autoIndex) {
  1066. var profile = db1.collection('itisalat_profile');
  1067. profile.insert({
  1068. id: autoIndex,
  1069. 'name': name,
  1070. 'fathername': fathername,
  1071. 'userdata': savedAddress
  1072. });
  1073. session.endDialog("شكراً لاشتراكك، سيتم إرسال العلامات الخاصة بك فور صدورها.");
  1074. });
  1075. });
  1076. }
  1077.  
  1078. else {
  1079. builder.Prompts.text(session, "يرجى التأكد من الاسم واعادة كتابته");
  1080. session.endDialog("اسم الاب خاطئ يرجى اعادة الاشتراك ");
  1081. }
  1082.  
  1083. }
  1084. ]);
  1085.  
  1086. bot.dialog('/itisalat2', [
  1087. function (session) {
  1088. MongoClient.connect("mongodb://localhost:27017/itisalat_profile", function (err, db1) {
  1089. var coll = db1.collection("itisalat1_profile");
  1090. coll.findOne({'userdata': savedAddress }, function (err, docs1) {
  1091. if (docs1 == null) {
  1092. builder.Prompts.text(session, "من فضلك، قم بكتابة اسمك كما في القوائم");
  1093. }
  1094. else{
  1095. session.endDialog("انت مشترك معنا ^_^");
  1096. }
  1097. });
  1098. });
  1099. },
  1100. function (session, results) {
  1101. name = results.response;
  1102.  
  1103. MongoClient.connect("mongodb://localhost:27017/itisalat", function (err, db) {
  1104. assert.equal(null, err);
  1105. var collection = db.collection("itisalat2");
  1106. name = name.replace(/أ/g, 'ا');
  1107. name = name.replace(/إ/g, 'ا');
  1108. name = name.replace(/آ/g, 'ا');
  1109. name = name.replace(/ة/g, 'ه');
  1110. collection.findOne({'name': name }, function (err, docs) {
  1111. console.log(name);
  1112. if (docs == null) {
  1113. builder.Prompts.text(session, "يرجى التأكد من الاسم واعادة كتابته");
  1114. session.begindialog('/itisalat2');
  1115. }
  1116. else {
  1117. fathername = JSON.stringify(docs.fathername);
  1118. fathername= fathername.replace(/"/g, '');
  1119. fathername = fathername.toString('utf-8').trim();
  1120. console.log(fathername);
  1121. builder.Prompts.text(session, "رجاء اكتب اسم الاب"); }
  1122. });
  1123. });
  1124. },
  1125. function (session, results) {
  1126. var fathername1 = results.response;
  1127. console.log(fathername1)
  1128. fathername1 = fathername1.toString('utf-8').trim();
  1129.  
  1130. if (fathername === fathername1 ) {
  1131. MongoClient.connect("mongodb://localhost:27017/itisalat_profile", function (err, db1) {
  1132. var auto = autoIncrement.getNextSequence(db1, 'itisalat_profile', function (err, autoIndex) {
  1133. var profile = db1.collection('itisalat_profile');
  1134. profile.insert({
  1135. id: autoIndex,
  1136. 'name': name,
  1137. 'fathername': fathername,
  1138. 'userdata': savedAddress
  1139. });
  1140. session.endDialog("شكراً لاشتراكك، سيتم إرسال العلامات الخاصة بك فور صدورها.");
  1141. });
  1142. });
  1143. }
  1144.  
  1145. else {
  1146. builder.Prompts.text(session, "يرجى التأكد من الاسم واعادة كتابته");
  1147. session.endDialog("اسم الاب خاطئ يرجى اعادة الاشتراك ");
  1148. }
  1149.  
  1150. }
  1151. ]);
  1152.  
  1153. bot.dialog('/itisalat3', [
  1154. function (session) {
  1155. MongoClient.connect("mongodb://localhost:27017/itisalat_profile", function (err, db1) {
  1156. var coll = db1.collection("itisalat1_profile");
  1157. coll.findOne({'userdata': savedAddress }, function (err, docs1) {
  1158. if (docs1 == null) {
  1159. builder.Prompts.text(session, "من فضلك، قم بكتابة اسمك كما في القوائم");
  1160. }
  1161. else{
  1162. session.endDialog("انت مشترك معنا ^_^");
  1163. }
  1164. });
  1165. });
  1166. },
  1167. function (session, results) {
  1168. name = results.response;
  1169.  
  1170. MongoClient.connect("mongodb://localhost:27017/itisalat", function (err, db) {
  1171. assert.equal(null, err);
  1172. var collection = db.collection("itisalat3");
  1173. name = name.replace(/أ/g, 'ا');
  1174. name = name.replace(/إ/g, 'ا');
  1175. name = name.replace(/آ/g, 'ا');
  1176. name = name.replace(/ة/g, 'ه');
  1177. collection.findOne({'name': name }, function (err, docs) {
  1178. console.log(name);
  1179. if (docs == null) {
  1180. builder.Prompts.text(session, "يرجى التأكد من الاسم واعادة كتابته");
  1181. session.begindialog('/itisalat3');
  1182. }
  1183. else {
  1184. fathername = JSON.stringify(docs.fathername);
  1185. fathername= fathername.replace(/"/g, '');
  1186. fathername = fathername.toString('utf-8').trim();
  1187. console.log(fathername);
  1188. builder.Prompts.text(session, "رجاء اكتب اسم الاب"); }
  1189. });
  1190. });
  1191. },
  1192. function (session, results) {
  1193. var fathername1 = results.response;
  1194. console.log(fathername1)
  1195. fathername1 = fathername1.toString('utf-8').trim();
  1196.  
  1197. if (fathername === fathername1 ) {
  1198. MongoClient.connect("mongodb://localhost:27017/itisalat_profile", function (err, db1) {
  1199. var auto = autoIncrement.getNextSequence(db1, 'itisalat_profile', function (err, autoIndex) {
  1200. var profile = db1.collection('itisalat_profile');
  1201. profile.insert({
  1202. id: autoIndex,
  1203. 'name': name,
  1204. 'fathername': fathername,
  1205. 'userdata': savedAddress
  1206. });
  1207. session.endDialog("شكراً لاشتراكك، سيتم إرسال العلامات الخاصة بك فور صدورها.");
  1208. });
  1209. });
  1210. }
  1211.  
  1212. else {
  1213. builder.Prompts.text(session, "يرجى التأكد من الاسم واعادة كتابته");
  1214. session.endDialog("اسم الاب خاطئ يرجى اعادة الاشتراك ");
  1215. }
  1216.  
  1217. }
  1218. ]);
  1219.  
  1220. bot.dialog('/itisalat4', [
  1221. function (session) {
  1222. MongoClient.connect("mongodb://localhost:27017/itisalat_profile", function (err, db1) {
  1223. var coll = db1.collection("itisalat1_profile");
  1224. coll.findOne({'userdata': savedAddress }, function (err, docs1) {
  1225. if (docs1 == null) {
  1226. builder.Prompts.text(session, "من فضلك، قم بكتابة اسمك كما في القوائم");
  1227. }
  1228. else{
  1229. session.endDialog("انت مشترك معنا ^_^");
  1230. }
  1231. });
  1232. });
  1233. },
  1234. function (session, results) {
  1235. name = results.response;
  1236.  
  1237. MongoClient.connect("mongodb://localhost:27017/itisalat", function (err, db) {
  1238. assert.equal(null, err);
  1239. var collection = db.collection("itisalat4");
  1240. name = name.replace(/أ/g, 'ا');
  1241. name = name.replace(/إ/g, 'ا');
  1242. name = name.replace(/آ/g, 'ا');
  1243. name = name.replace(/ة/g, 'ه');
  1244. collection.findOne({'name': name }, function (err, docs) {
  1245. console.log(name);
  1246. if (docs == null) {
  1247. builder.Prompts.text(session, "يرجى التأكد من الاسم واعادة كتابته");
  1248. session.begindialog('/itisalat4');
  1249. }
  1250. else {
  1251. fathername = JSON.stringify(docs.fathername);
  1252. fathername= fathername.replace(/"/g, '');
  1253. fathername = fathername.toString('utf-8').trim();
  1254. console.log(fathername);
  1255. builder.Prompts.text(session, "رجاء اكتب اسم الاب"); }
  1256. });
  1257. });
  1258. },
  1259. function (session, results) {
  1260. var fathername1 = results.response;
  1261. console.log(fathername1)
  1262. fathername1 = fathername1.toString('utf-8').trim();
  1263.  
  1264. if (fathername === fathername1 ) {
  1265. MongoClient.connect("mongodb://localhost:27017/itisalat_profile", function (err, db1) {
  1266. var auto = autoIncrement.getNextSequence(db1, 'itisalat_profile', function (err, autoIndex) {
  1267. var profile = db1.collection('itisalat_profile');
  1268. profile.insert({
  1269. id: autoIndex,
  1270. 'name': name,
  1271. 'fathername': fathername,
  1272. 'userdata': savedAddress
  1273. });
  1274. session.endDialog("شكراً لاشتراكك، سيتم إرسال العلامات الخاصة بك فور صدورها.");
  1275. });
  1276. });
  1277. }
  1278.  
  1279. else {
  1280. builder.Prompts.text(session, "يرجى التأكد من الاسم واعادة كتابته");
  1281. session.endDialog("اسم الاب خاطئ يرجى اعادة الاشتراك ");
  1282. }
  1283.  
  1284. }
  1285. ]);
  1286.  
  1287. bot.dialog('/itisalat5', [
  1288. function (session) {
  1289. MongoClient.connect("mongodb://localhost:27017/itisalat_profile", function (err, db1) {
  1290. var coll = db1.collection("itisalat1_profile");
  1291. coll.findOne({'userdata': savedAddress }, function (err, docs1) {
  1292. if (docs1 == null) {
  1293. builder.Prompts.text(session, "من فضلك، قم بكتابة اسمك كما في القوائم");
  1294. }
  1295. else{
  1296. session.endDialog("انت مشترك معنا ^_^");
  1297. }
  1298. });
  1299. });
  1300. },
  1301. function (session, results) {
  1302. name = results.response;
  1303.  
  1304. MongoClient.connect("mongodb://localhost:27017/itisalat", function (err, db) {
  1305. assert.equal(null, err);
  1306. var collection = db.collection("itisalat5");
  1307. name = name.replace(/أ/g, 'ا');
  1308. name = name.replace(/إ/g, 'ا');
  1309. name = name.replace(/آ/g, 'ا');
  1310. name = name.replace(/ة/g, 'ه');
  1311. collection.findOne({'name': name }, function (err, docs) {
  1312. console.log(name);
  1313. if (docs == null) {
  1314. builder.Prompts.text(session, "يرجى التأكد من الاسم واعادة كتابته");
  1315. session.begindialog('/itisalat5');
  1316. }
  1317. else {
  1318. fathername = JSON.stringify(docs.fathername);
  1319. fathername= fathername.replace(/"/g, '');
  1320. fathername = fathername.toString('utf-8').trim();
  1321. console.log(fathername);
  1322. builder.Prompts.text(session, "رجاء اكتب اسم الاب"); }
  1323. });
  1324. });
  1325. },
  1326. function (session, results) {
  1327. var fathername1 = results.response;
  1328. console.log(fathername1)
  1329. fathername1 = fathername1.toString('utf-8').trim();
  1330.  
  1331. if (fathername === fathername1 ) {
  1332. MongoClient.connect("mongodb://localhost:27017/itisalat_profile", function (err, db1) {
  1333. var auto = autoIncrement.getNextSequence(db1, 'itisalat_profile', function (err, autoIndex) {
  1334. var profile = db1.collection('itisalat_profile');
  1335. profile.insert({
  1336. id: autoIndex,
  1337. 'name': name,
  1338. 'fathername': fathername,
  1339. 'userdata': savedAddress
  1340. });
  1341. session.endDialog("شكراً لاشتراكك، سيتم إرسال العلامات الخاصة بك فور صدورها.");
  1342. });
  1343. });
  1344. }
  1345.  
  1346. else {
  1347. builder.Prompts.text(session, "يرجى التأكد من الاسم واعادة كتابته");
  1348. session.endDialog("اسم الاب خاطئ يرجى اعادة الاشتراك ");
  1349. }
  1350.  
  1351. }
  1352. ]);
  1353.  
  1354. //=================================================================================================
  1355.  
  1356. bot.dialog('/tbia', [
  1357. function (session) {
  1358. builder.Prompts.choice(session, "من فضلك، قم باختيار سنتك الدراسية:", "السنة:1|السنة:2|السنة:3|السنة:4|السنة:5");
  1359. },
  1360.  
  1361. function (session, results) {
  1362. var year;
  1363. var kvPair = results.response.entity.split(':');
  1364. switch (kvPair[1]) {
  1365. case '1':
  1366. year = "tbia1";
  1367. break;
  1368. case '2':
  1369. year = "tbia2";
  1370. break;
  1371. case '3':
  1372. year = "tbia3";
  1373. break;
  1374. case '4':
  1375. year = "tbia4";
  1376. break;
  1377. case '5':
  1378. year = "tbia5";
  1379. break;
  1380. }
  1381. if (results.response) {
  1382. session.beginDialog('/' + year);
  1383. }
  1384. else {
  1385. // Exit the menu
  1386. session.endDialog();
  1387. }
  1388. }
  1389.  
  1390. ]);
  1391.  
  1392. bot.dialog('/tbia1', [
  1393. function (session) {
  1394. builder.Prompts.text(session, "من فضلك، قم بكتابة اسمك كما في القوائم");
  1395. },
  1396. function (session, results) {
  1397. var name = results.response;
  1398. builder.Prompts.number(session, "ما رقمك الامتحاني؟");
  1399. },
  1400. function (session, results) {
  1401. var num = results.response;
  1402. session.endDialog("شكراً لاشتراكك، سيتم إرسال العلامات الخاصة بك فور صدورها.");
  1403. }
  1404.  
  1405. ]);
  1406.  
  1407. bot.dialog('/tbia2', [
  1408. function (session) {
  1409. builder.Prompts.text(session, "من فضلك، قم بكتابة اسمك كما في القوائم");
  1410. },
  1411. function (session, results) {
  1412. var name = results.response;
  1413. builder.Prompts.number(session, "ما رقمك الامتحاني؟");
  1414. },
  1415. function (session, results) {
  1416. var num = results.response;
  1417. session.endDialog("شكراً لاشتراكك، سيتم إرسال العلامات الخاصة بك فور صدورها.");
  1418. }
  1419. ]);
  1420. bot.dialog('/tbia3', [
  1421. function (session) {
  1422. builder.Prompts.text(session, "من فضلك، قم بكتابة اسمك كما في القوائم");
  1423. },
  1424. function (session, results) {
  1425. var name = results.response;
  1426. builder.Prompts.number(session, "ما رقمك الامتحاني؟");
  1427. },
  1428. function (session, results) {
  1429. var num = results.response;
  1430. session.endDialog("شكراً لاشتراكك، سيتم إرسال العلامات الخاصة بك فور صدورها.");
  1431. }
  1432. ]);
  1433.  
  1434. bot.dialog('/tbia4', [
  1435. function (session) {
  1436. builder.Prompts.text(session, "من فضلك، قم بكتابة اسمك كما في القوائم");
  1437. },
  1438. function (session, results) {
  1439. var name = results.response;
  1440. builder.Prompts.number(session, "ما رقمك الامتحاني؟");
  1441. },
  1442. function (session, results) {
  1443. var num = results.response;
  1444. session.endDialog("شكراً لاشتراكك، سيتم إرسال العلامات الخاصة بك فور صدورها.");
  1445. }
  1446. ]);
  1447.  
  1448. bot.dialog('/tbia5', [
  1449. function (session) {
  1450. builder.Prompts.text(session, "من فضلك، قم بكتابة اسمك كما في القوائم");
  1451. },
  1452. function (session, results) {
  1453. var name = results.response;
  1454. builder.Prompts.number(session, "ما رقمك الامتحاني؟");
  1455. },
  1456. function (session, results) {
  1457. var num = results.response;
  1458. session.endDialog("شكراً لاشتراكك، سيتم إرسال العلامات الخاصة بك فور صدورها.");
  1459. }
  1460. ]);
  1461.  
  1462. //=================================================================================================
  1463.  
  1464. bot.dialog('/mikaneek', [
  1465. function (session) {
  1466. builder.Prompts.choice(session, "من فضلك، قم باختيار سنتك الدراسية:", "السنة:1|السنة:2|السنة:3|السنة:4|السنة:5");
  1467. },
  1468.  
  1469. function (session, results) {
  1470. var year;
  1471. var kvPair = results.response.entity.split(':');
  1472. switch (kvPair[1]) {
  1473. case '1':
  1474. year = "mikaneek1";
  1475. break;
  1476. case '2':
  1477. year = "mikaneek2";
  1478. break;
  1479. case '3':
  1480. year = "mikaneek3";
  1481. break;
  1482. case '4':
  1483. year = "mikaneek4";
  1484. break;
  1485. case '5':
  1486. year = "mikaneek5";
  1487. break;
  1488. }
  1489. if (results.response) {
  1490. session.beginDialog('/' + year);
  1491. }
  1492. else {
  1493. // Exit the menu
  1494. session.endDialog();
  1495. }
  1496. }
  1497.  
  1498. ]);
  1499.  
  1500. bot.dialog('/mikaneek1', [
  1501. function (session) {
  1502. builder.Prompts.text(session, "من فضلك، قم بكتابة اسمك كما في القوائم");
  1503. },
  1504. function (session, results) {
  1505. var name = results.response;
  1506. builder.Prompts.number(session, "ما رقمك الامتحاني؟");
  1507. },
  1508. function (session, results) {
  1509. var num = results.response;
  1510. session.endDialog("شكراً لاشتراكك، سيتم إرسال العلامات الخاصة بك فور صدورها.");
  1511. }
  1512.  
  1513. ]);
  1514.  
  1515. bot.dialog('/mikaneek2', [
  1516. function (session) {
  1517. builder.Prompts.text(session, "من فضلك، قم بكتابة اسمك كما في القوائم");
  1518. },
  1519. function (session, results) {
  1520. var name = results.response;
  1521. builder.Prompts.number(session, "ما رقمك الامتحاني؟");
  1522. },
  1523. function (session, results) {
  1524. var num = results.response;
  1525. session.endDialog("شكراً لاشتراكك، سيتم إرسال العلامات الخاصة بك فور صدورها.");
  1526. }
  1527. ]);
  1528. bot.dialog('/mikaneek3', [
  1529. function (session) {
  1530. builder.Prompts.text(session, "من فضلك، قم بكتابة اسمك كما في القوائم");
  1531. },
  1532. function (session, results) {
  1533. var name = results.response;
  1534. builder.Prompts.number(session, "ما رقمك الامتحاني؟");
  1535. },
  1536. function (session, results) {
  1537. var num = results.response;
  1538. session.endDialog("شكراً لاشتراكك، سيتم إرسال العلامات الخاصة بك فور صدورها.");
  1539. }
  1540. ]);
  1541.  
  1542. bot.dialog('/mikaneek4', [
  1543. function (session) {
  1544. builder.Prompts.text(session, "من فضلك، قم بكتابة اسمك كما في القوائم");
  1545. },
  1546. function (session, results) {
  1547. var name = results.response;
  1548. builder.Prompts.number(session, "ما رقمك الامتحاني؟");
  1549. },
  1550. function (session, results) {
  1551. var num = results.response;
  1552. session.endDialog("شكراً لاشتراكك، سيتم إرسال العلامات الخاصة بك فور صدورها.");
  1553. }
  1554. ]);
  1555.  
  1556. bot.dialog('/mikaneek5', [
  1557. function (session) {
  1558. builder.Prompts.text(session, "من فضلك، قم بكتابة اسمك كما في القوائم");
  1559. },
  1560. function (session, results) {
  1561. var name = results.response;
  1562. builder.Prompts.number(session, "ما رقمك الامتحاني؟");
  1563. },
  1564. function (session, results) {
  1565. var num = results.response;
  1566. session.endDialog("شكراً لاشتراكك، سيتم إرسال العلامات الخاصة بك فور صدورها.");
  1567. }
  1568. ]);
  1569.  
  1570. //=================================================================================================
  1571.  
  1572. bot.dialog('/tsmeem', [
  1573. function (session) {
  1574. builder.Prompts.choice(session, "من فضلك، قم باختيار سنتك الدراسية:", "السنة:1|السنة:2|السنة:3|السنة:4|السنة:5");
  1575. },
  1576.  
  1577. function (session, results) {
  1578. var year;
  1579. var kvPair = results.response.entity.split(':');
  1580. switch (kvPair[1]) {
  1581. case '1':
  1582. year = "tsmeem1";
  1583. break;
  1584. case '2':
  1585. year = "tsmeem2";
  1586. break;
  1587. case '3':
  1588. year = "tsmeem3";
  1589. break;
  1590. case '4':
  1591. year = "tsmeem4";
  1592. break;
  1593. case '5':
  1594. year = "tsmeem5";
  1595. break;
  1596. }
  1597. if (results.response) {
  1598. session.beginDialog('/' + year);
  1599. }
  1600. else {
  1601. // Exit the menu
  1602. session.endDialog();
  1603. }
  1604. }
  1605.  
  1606. ]);
  1607.  
  1608. bot.dialog('/tsmeem1', [
  1609. function (session) {
  1610. builder.Prompts.text(session, "من فضلك، قم بكتابة اسمك كما في القوائم");
  1611. },
  1612. function (session, results) {
  1613. var name = results.response;
  1614. builder.Prompts.number(session, "ما رقمك الامتحاني؟");
  1615. },
  1616. function (session, results) {
  1617. var num = results.response;
  1618. session.endDialog("شكراً لاشتراكك، سيتم إرسال العلامات الخاصة بك فور صدورها.");
  1619. }
  1620.  
  1621. ]);
  1622.  
  1623. bot.dialog('/tsmeem2', [
  1624. function (session) {
  1625. builder.Prompts.text(session, "من فضلك، قم بكتابة اسمك كما في القوائم");
  1626. },
  1627. function (session, results) {
  1628. var name = results.response;
  1629. builder.Prompts.number(session, "ما رقمك الامتحاني؟");
  1630. },
  1631. function (session, results) {
  1632. var num = results.response;
  1633. session.endDialog("شكراً لاشتراكك، سيتم إرسال العلامات الخاصة بك فور صدورها.");
  1634. }
  1635. ]);
  1636. bot.dialog('/tsmeem3', [
  1637. function (session) {
  1638. builder.Prompts.text(session, "من فضلك، قم بكتابة اسمك كما في القوائم");
  1639. },
  1640. function (session, results) {
  1641. var name = results.response;
  1642. builder.Prompts.number(session, "ما رقمك الامتحاني؟");
  1643. },
  1644. function (session, results) {
  1645. var num = results.response;
  1646. session.endDialog("شكراً لاشتراكك، سيتم إرسال العلامات الخاصة بك فور صدورها.");
  1647. }
  1648. ]);
  1649.  
  1650. bot.dialog('/tsmeem4', [
  1651. function (session) {
  1652. builder.Prompts.text(session, "من فضلك، قم بكتابة اسمك كما في القوائم");
  1653. },
  1654. function (session, results) {
  1655. var name = results.response;
  1656. builder.Prompts.number(session, "ما رقمك الامتحاني؟");
  1657. },
  1658. function (session, results) {
  1659. var num = results.response;
  1660. session.endDialog("شكراً لاشتراكك، سيتم إرسال العلامات الخاصة بك فور صدورها.");
  1661. }
  1662. ]);
  1663.  
  1664. bot.dialog('/tsmeem5', [
  1665. function (session) {
  1666. builder.Prompts.choice(session, "من فضلك، قم باختيار فرعك:", "تصميم وانتاج|علم مواد");
  1667. },
  1668. function (session, results) {
  1669. var part;
  1670. switch (results.response.entity) {
  1671. case 'علم مواد':
  1672. part = "tsmeem5maw";
  1673. break;
  1674. case 'الحواسيب':
  1675. part = "tsmeem5int";
  1676. break;
  1677. }
  1678. if (results.response) {
  1679. session.beginDialog('/' + part);
  1680. }
  1681. else {
  1682. // Exit the menu
  1683. session.endDialog();
  1684. }
  1685. }
  1686. ]);
  1687.  
  1688. bot.dialog('/tsmeem5int', [
  1689. function (session) {
  1690. builder.Prompts.text(session, "من فضلك، قم بكتابة اسمك كما في القوائم");
  1691. },
  1692. function (session, results) {
  1693. var name = results.response;
  1694. builder.Prompts.number(session, "ما رقمك الامتحاني؟");
  1695. },
  1696. function (session, results) {
  1697. var num = results.response;
  1698. session.endDialog("شكراً لاشتراكك، سيتم إرسال العلامات الخاصة بك فور صدورها.");
  1699. }
  1700. ]);
  1701.  
  1702. bot.dialog('/tsmeem5maw', [
  1703. function (session) {
  1704. builder.Prompts.text(session, "من فضلك، قم بكتابة اسمك كما في القوائم");
  1705. },
  1706. function (session, results) {
  1707. var name = results.response;
  1708. builder.Prompts.number(session, "ما رقمك الامتحاني؟");
  1709. },
  1710. function (session, results) {
  1711. var num = results.response;
  1712. session.endDialog("شكراً لاشتراكك، سيتم إرسال العلامات الخاصة بك فور صدورها.");
  1713. }
  1714.  
  1715. ]);
  1716.  
  1717. //=================================================================================================
  1718.  
  1719. bot.dialog('/ghzl', [
  1720. function (session) {
  1721. builder.Prompts.choice(session, "من فضلك، قم باختيار سنتك الدراسية:", "السنة:1|السنة:2|السنة:3|السنة:4|السنة:5");
  1722. },
  1723.  
  1724. function (session, results) {
  1725. var year;
  1726. var kvPair = results.response.entity.split(':');
  1727. switch (kvPair[1]) {
  1728. case '1':
  1729. year = "ghzl1";
  1730. break;
  1731. case '2':
  1732. year = "ghzl2";
  1733. break;
  1734. case '3':
  1735. year = "ghzl3";
  1736. break;
  1737. case '4':
  1738. year = "ghzl4";
  1739. break;
  1740. case '5':
  1741. year = "ghzl5";
  1742. break;
  1743. }
  1744. if (results.response) {
  1745. session.beginDialog('/' + year);
  1746. }
  1747. else {
  1748. // Exit the menu
  1749. session.endDialog();
  1750. }
  1751. }
  1752.  
  1753. ]);
  1754.  
  1755. bot.dialog('/ghzl1', [
  1756. function (session) {
  1757. builder.Prompts.text(session, "من فضلك، قم بكتابة اسمك كما في القوائم");
  1758. },
  1759. function (session, results) {
  1760. var name = results.response;
  1761. builder.Prompts.number(session, "ما رقمك الامتحاني؟");
  1762. },
  1763. function (session, results) {
  1764. var num = results.response;
  1765. session.endDialog("شكراً لاشتراكك، سيتم إرسال العلامات الخاصة بك فور صدورها.");
  1766. }
  1767.  
  1768. ]);
  1769.  
  1770. bot.dialog('/ghzl2', [
  1771. function (session) {
  1772. builder.Prompts.text(session, "من فضلك، قم بكتابة اسمك كما في القوائم");
  1773. },
  1774. function (session, results) {
  1775. var name = results.response;
  1776. builder.Prompts.number(session, "ما رقمك الامتحاني؟");
  1777. },
  1778. function (session, results) {
  1779. var num = results.response;
  1780. session.endDialog("شكراً لاشتراكك، سيتم إرسال العلامات الخاصة بك فور صدورها.");
  1781. }
  1782. ]);
  1783. bot.dialog('/ghzl3', [
  1784. function (session) {
  1785. builder.Prompts.text(session, "من فضلك، قم بكتابة اسمك كما في القوائم");
  1786. },
  1787. function (session, results) {
  1788. var name = results.response;
  1789. builder.Prompts.number(session, "ما رقمك الامتحاني؟");
  1790. },
  1791. function (session, results) {
  1792. var num = results.response;
  1793. session.endDialog("شكراً لاشتراكك، سيتم إرسال العلامات الخاصة بك فور صدورها.");
  1794. }
  1795. ]);
  1796.  
  1797. bot.dialog('/ghzl4', [
  1798. function (session) {
  1799. builder.Prompts.text(session, "من فضلك، قم بكتابة اسمك كما في القوائم");
  1800. },
  1801. function (session, results) {
  1802. var name = results.response;
  1803. builder.Prompts.number(session, "ما رقمك الامتحاني؟");
  1804. },
  1805. function (session, results) {
  1806. var num = results.response;
  1807. session.endDialog("شكراً لاشتراكك، سيتم إرسال العلامات الخاصة بك فور صدورها.");
  1808. }
  1809. ]);
  1810.  
  1811. bot.dialog('/ghzl5', [
  1812. function (session) {
  1813. builder.Prompts.text(session, "من فضلك، قم بكتابة اسمك كما في القوائم");
  1814. },
  1815. function (session, results) {
  1816. var name = results.response;
  1817. builder.Prompts.number(session, "ما رقمك الامتحاني؟");
  1818. },
  1819. function (session, results) {
  1820. var num = results.response;
  1821. session.endDialog("شكراً لاشتراكك، سيتم إرسال العلامات الخاصة بك فور صدورها.");
  1822. }
  1823. ]);
  1824.  
  1825. //==============================================================================================================
  1826.  
  1827. bot.dialog('/motajadeda', [
  1828. function (session) {
  1829. builder.Prompts.choice(session, "من فضلك، قم باختيار سنتك الدراسية:", "السنة:4|السنة:5");
  1830. },
  1831.  
  1832. function (session, results) {
  1833. var year;
  1834. var kvPair = results.response.entity.split(':');
  1835. switch (kvPair[1]) {
  1836. case '4':
  1837. year = "motajadeda4";
  1838. break;
  1839. case '5':
  1840. year = "motajadeda5";
  1841. break;
  1842. }
  1843. if (results.response) {
  1844. session.beginDialog('/' + year);
  1845. }
  1846. else {
  1847. // Exit the menu
  1848. session.endDialog();
  1849. }
  1850. }
  1851.  
  1852. ]);
  1853.  
  1854. bot.dialog('/motajadeda4', [
  1855. function (session) {
  1856. builder.Prompts.text(session, "من فضلك، قم بكتابة اسمك كما في القوائم");
  1857. },
  1858. function (session, results) {
  1859. var name = results.response;
  1860. builder.Prompts.number(session, "ما رقمك الامتحاني؟");
  1861. },
  1862. function (session, results) {
  1863. var num = results.response;
  1864. session.endDialog("شكراً لاشتراكك، سيتم إرسال العلامات الخاصة بك فور صدورها.");
  1865. }
  1866. ]);
  1867.  
  1868. bot.dialog('/motajadeda5', [
  1869. function (session) {
  1870. builder.Prompts.text(session, "من فضلك، قم بكتابة اسمك كما في القوائم");
  1871. },
  1872. function (session, results) {
  1873. var name = results.response;
  1874. builder.Prompts.number(session, "ما رقمك الامتحاني؟");
  1875. },
  1876. function (session, results) {
  1877. var num = results.response;
  1878. session.endDialog("شكراً لاشتراكك، سيتم إرسال العلامات الخاصة بك فور صدورها.");
  1879. }
  1880. ]);
  1881.  
  1882. //==============================================================================================================
  1883.  
  1884. bot.dialog('/syarat', [
  1885. function (session) {
  1886. builder.Prompts.choice(session, "من فضلك، قم باختيار سنتك الدراسية:", "السنة:1|السنة:2|السنة:3|السنة:4|السنة:5");
  1887. },
  1888.  
  1889. function (session, results) {
  1890. var year;
  1891. var kvPair = results.response.entity.split(':');
  1892. switch (kvPair[1]) {
  1893. case '1':
  1894. year = "syarat1";
  1895. break;
  1896. case '2':
  1897. year = "syarat2";
  1898. break;
  1899. case '3':
  1900. year = "syarat3";
  1901. break;
  1902. case '4':
  1903. year = "syarat4";
  1904. break;
  1905. case '5':
  1906. year = "syarat5";
  1907. break;
  1908. }
  1909. if (results.response) {
  1910. session.beginDialog('/' + year);
  1911. }
  1912. else {
  1913. // Exit the menu
  1914. session.endDialog();
  1915. }
  1916. }
  1917.  
  1918. ]);
  1919.  
  1920. bot.dialog('/syarat1', [
  1921. function (session) {
  1922. builder.Prompts.text(session, "من فضلك، قم بكتابة اسمك كما في القوائم");
  1923. },
  1924. function (session, results) {
  1925. var name = results.response;
  1926. builder.Prompts.number(session, "ما رقمك الامتحاني؟");
  1927. },
  1928. function (session, results) {
  1929. var num = results.response;
  1930. session.endDialog("شكراً لاشتراكك، سيتم إرسال العلامات الخاصة بك فور صدورها.");
  1931. }
  1932.  
  1933. ]);
  1934.  
  1935. bot.dialog('/syarat2', [
  1936. function (session) {
  1937. builder.Prompts.text(session, "من فضلك، قم بكتابة اسمك كما في القوائم");
  1938. },
  1939. function (session, results) {
  1940. var name = results.response;
  1941. builder.Prompts.number(session, "ما رقمك الامتحاني؟");
  1942. },
  1943. function (session, results) {
  1944. var num = results.response;
  1945. session.endDialog("شكراً لاشتراكك، سيتم إرسال العلامات الخاصة بك فور صدورها.");
  1946. }
  1947. ]);
  1948. bot.dialog('/syarat3', [
  1949. function (session) {
  1950. builder.Prompts.text(session, "من فضلك، قم بكتابة اسمك كما في القوائم");
  1951. },
  1952. function (session, results) {
  1953. var name = results.response;
  1954. builder.Prompts.number(session, "ما رقمك الامتحاني؟");
  1955. },
  1956. function (session, results) {
  1957. var num = results.response;
  1958. session.endDialog("شكراً لاشتراكك، سيتم إرسال العلامات الخاصة بك فور صدورها.");
  1959. }
  1960. ]);
  1961.  
  1962. bot.dialog('/syarat4', [
  1963. function (session) {
  1964. builder.Prompts.text(session, "من فضلك، قم بكتابة اسمك كما في القوائم");
  1965. },
  1966. function (session, results) {
  1967. var name = results.response;
  1968. builder.Prompts.number(session, "ما رقمك الامتحاني؟");
  1969. },
  1970. function (session, results) {
  1971. var num = results.response;
  1972. session.endDialog("شكراً لاشتراكك، سيتم إرسال العلامات الخاصة بك فور صدورها.");
  1973. }
  1974. ]);
  1975.  
  1976. bot.dialog('/syarat5', [
  1977. function (session) {
  1978. builder.Prompts.text(session, "من فضلك، قم بكتابة اسمك كما في القوائم");
  1979. },
  1980. function (session, results) {
  1981. var name = results.response;
  1982. builder.Prompts.number(session, "ما رقمك الامتحاني؟");
  1983. },
  1984. function (session, results) {
  1985. var num = results.response;
  1986. session.endDialog("شكراً لاشتراكك، سيتم إرسال العلامات الخاصة بك فور صدورها.");
  1987. }
  1988. ]);
  1989.  
  1990. bot.dialog('sendmark', function (session, args) {
  1991. sendProactiveMessage(rr, savedAddress);
  1992. })
  1993. //==============================================================================================================
  1994.  
  1995. ///=====================================
  1996. function assertname(data, name, deal) {
  1997.  
  1998. }
  1999. function assertfather(name, fathername , savedAddress) {
  2000.  
  2001. }
  2002.  
  2003. //=========================================-------------------------
  2004.  
  2005. var fs = require('fs');
  2006. var Excel = require('exceljs');
  2007. var excel = require('excel-stream');
  2008.  
  2009. var MongoClient = require('mongodb').MongoClient;
  2010. var delayMillis = 10000; //10 second
  2011. var express = require('express');
  2012. var path = require('path');
  2013. var bodyParser = require('body-parser');
  2014. var app = express();
  2015. var http = require('http');
  2016. var router = express.Router();
  2017. var multer = require('multer');
  2018. var workbook = new Excel.Workbook();
  2019. var open = require("open");
  2020. var file_name;
  2021. var dep;
  2022. var sub;
  2023. var ff;
  2024. var text;
  2025. var message;
  2026. var file1 ;
  2027. app.use(bodyParser.urlencoded({ extended: true }));
  2028. // Define the port to run on
  2029. app.set('port', 3000);
  2030.  
  2031. app.use(express.static(path.join(__dirname, 'public')));
  2032.  
  2033. // Listen for requests
  2034. var server1 = app.listen(app.get('port'), function () {
  2035. var port = server1.address().port;
  2036. });
  2037.  
  2038. app.post('/', function(request, response){
  2039. dep = request.body.slct1;
  2040. year = request.body.slct2;
  2041. sub = request.body.slct3 ;
  2042. text = request.body.subject_name ;
  2043. setTimeout(function () {
  2044. fs.createReadStream('public/uploads/'+file1)
  2045. .pipe(excel({
  2046. sheet: 'Sheet2' }))
  2047. .on('data', ins)
  2048. },delayMillis);
  2049.  
  2050. setTimeout(function () {response.redirect('back'); },delayMillis );
  2051. //setTimeout(function () {sendmark(dep, sub, text) } , delayMillis );
  2052.  
  2053.  
  2054. });
  2055. var storage =multer.diskStorage({
  2056. destination:function(req,file,callback){
  2057. callback(null,'./public/uploads');
  2058. },
  2059. filename:function(req,file,callback){
  2060. callback(null,file.originalname);
  2061. file1=file.originalname;
  2062. }
  2063. });
  2064.  
  2065. var upload =multer({storage : storage}).single('file');
  2066. app.post('/upload',function(req,res){
  2067. upload(req,res,function(err)
  2068. {
  2069. if(err){
  2070. return res.end("error");
  2071. }
  2072. workbook.xlsx.readFile('public/uploads/'+file1)
  2073. .then(function() {
  2074. var sheet2 = workbook.addWorksheet('Sheet2');
  2075. var sheet1 = workbook.getWorksheet('ورقة1');
  2076. var sheet3 = workbook.removeWorksheet('ورقة2');
  2077. var sheet4 = workbook.removeWorksheet('ورقة3');
  2078.  
  2079. var reColumns=[
  2080. {header:'name',key:'name'},
  2081. {header:'fathername',key:'fathername'},
  2082. {header:'exam1',key:'exam1'},
  2083. {header:'exam2',key:'exam2'},
  2084. {header:'mark',key:'mark'}
  2085. ];
  2086. sheet2.columns = reColumns;
  2087. var rows = sheet1.rowCount;
  2088. for(var i=5 ; i < rows ; i++ ){
  2089. if(sheet1.getCell("D"+i) == null){
  2090. break ; }
  2091. else{
  2092. sheet2.getCell("A"+(i-3)).value = sheet1.getCell("D"+i).value;
  2093. sheet2.getCell("B"+(i-3)).value = sheet1.getCell("E"+i).value;
  2094. sheet2.getCell("C"+(i-3)).value = sheet1.getCell("F"+i).value;
  2095. sheet2.getCell("D"+(i-3)).value = sheet1.getCell("G"+i).value;
  2096. sheet2.getCell("E"+(i-3)).value = sheet1.getCell("K"+i).value;
  2097. if (sheet1.getCell("D"+i).value != null ){
  2098. var name = sheet1.getCell("D"+i).value;
  2099. name = name.replace(/أ/g , 'ا');
  2100. name = name.replace(/إ/g , 'ا');
  2101. name = name.replace(/آ/g , 'ا');
  2102. name = name.replace(/ة/g , 'ه');
  2103. sheet2.getCell("A"+(i-3)).value = name;
  2104. }
  2105. }
  2106. }
  2107. return workbook.xlsx.writeFile('./public/uploads/'+file1);
  2108. });
  2109. });
  2110. });
  2111.  
  2112. function sendmark(dep, sub, text) {
  2113. MongoClient.connect("mongodb://localhost:27017/" + dep, function (err, db) {
  2114. if (err) { return console.dir(err); }
  2115. var coll = dep + '_profile';
  2116. var collection = db.collection(coll);
  2117. var collect = db.collection(sub);
  2118. collection.count(function (err, count) {
  2119. for (var i = 0; i <= count; i++) {
  2120. collection.findOne({ 'id': i }, function (err, docs) {
  2121.  
  2122. if (docs != null) {
  2123. var address = JSON.stringify(docs.userdata);
  2124. var address1 = eval ("(" + address + ")");
  2125. var name = JSON.stringify(docs.name);
  2126. name = name.replace(/"/g, '');
  2127. collect.findOne({ 'name': name }, function (err, dd) {
  2128. var mark = JSON.stringify(dd.mark);
  2129. var message;
  2130. if (mark >= 60 && mark != null && mark != 0 && mark != "-" && mark != "_") {
  2131. message = "مبارك" + name + "علامتك في مادة " + text + "هي " + mark;
  2132. console.log(message)
  2133. console.log(address1)
  2134.  
  2135. }
  2136. else if (mark < 60 && mark != null && mark != 0 && mark != "-" && mark != "_") {
  2137. message = "للاسف" + name + "علامتك في مادة " + text + "هي " + mark;
  2138. console.log(message)
  2139. ;
  2140.  
  2141. }
  2142.  
  2143. function x(req,res ,next) {
  2144. console.log('aaa')
  2145. sendProactiveMessage(message, address1);
  2146. }
  2147. x();
  2148. });
  2149. }
  2150. });
  2151. }
  2152. });
  2153. });
  2154. }
  2155. function ins(data){
  2156. MongoClient.connect("mongodb://localhost:27017/"+dep, function(err, db) {
  2157. if(err) { return console.dir(err); }
  2158. var collection = db.collection(sub);
  2159. collection.insertMany([data]);
  2160. });
  2161. }
  2162.  
  2163.  
Runtime error #stdin #stdout #stderr 0.03s 590848KB
stdin
Standard input is empty
stdout
Standard output is empty
stderr
module.js:472
    throw err;
    ^

Error: Cannot find module './config.js'
    at Function.Module._resolveFilename (module.js:470:15)
    at Function.Module._load (module.js:418:25)
    at Module.require (module.js:498:17)
    at require (internal/module.js:20:19)
    at Object.<anonymous> (/home/5l16eq/prog.js:1:78)
    at Module._compile (module.js:571:32)
    at Object.Module._extensions..js (module.js:580:10)
    at Module.load (module.js:488:32)
    at tryModuleLoad (module.js:447:12)
    at Function.Module._load (module.js:439:3)