-
Notifications
You must be signed in to change notification settings - Fork 1
/
Core.js
131 lines (119 loc) · 5.67 KB
/
Core.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
console.log('Hi. I\'m BASU CERT bot');
const TelegramBot = require('node-telegram-bot-api');
const token = '324218849:AAHnDuNgKLig4BiJVZqhhhUlhTvMdnmS1-M';
//const token = '378899707:AAEDJ6ETUAupbMRaJ76VP_8jWHH9fA3O0z8';
const bot = new TelegramBot(token, { polling: true });
console.log('Telegram Servers Status: Connected')
var mongo = require('mongodb');
let ConnectionString = "mongodb://127.0.0.1:27017";
bot.onText(/([\/]?[123456789۱۲۳۴۵۶۷۸۹a-zA-Z\u0621-\u064A\u0660-\u0669\u067E\u0686\u06af\u0698_+\-.,!@#$%^&*();\\\/|<>"']+)\s?([123456789۱۲۳۴۵۶۷۸۹a-zA-Z\u0621-\u064A\u0660-\u0669\u067E\u0686\u06af\u0698_+\-.,!@#$%^&*();\\\/|<>"'])*/, (msg, match) => {
const chatId = msg.chat.id;
mongo.connect(ConnectionString, function(err, db){
db.collection('CV', function(error, collection){
if (error)
{
console.warn(error.message);
}
else{
switch(match[1])
{
case "/start":
bot.sendMessage(
msg.chat.id ,
'به روبات مرکز تخصصی آپا خوش آمدید\nخدمات این روبات:\n/cv - ارسال رزومه جهت همکاری با مرکز\n/contact - تماس با ما');
break;
case "/contact":
bot.sendMessage(msg.chat.id, 'همدان، چهارباغ شهید مصطفی احمدی روشن، دانشگاه بوعلی سینا، سازمان مرکزی، طبقه دوم، مرکز تخصصی آپا \n تلفن: 38380860-081 \n ایمیل: [email protected] \n ' );
break;
case "/cv":
collection.findOne({ChatId : msg.chat.id}, function (findError, findResult){
if(findResult == null){
collection.insertOne({ChatId : msg.chat.id , Status : 1, ApplyDate : msg.date}, function (colError, result){
});
bot.sendMessage(chatId,"با تشکر از همراهی شما. لطفا نام و نام خانوادگی خود را وارد نمائید:");
}
else {
var options = {
reply_markup: JSON.stringify({
inline_keyboard: [
[{ text: 'ارسال مجدد رزومه', callback_data: '2' }],
[{ text: 'انصراف', callback_data: '1' }],
]
})
};
bot.sendMessage(msg.chat.id, "رزومه ی شما پیشتر در سامانه به ثبت رسیده است. دستور بعدی شما:", options);
}
});
break;
default:
collection.findOne({ChatId : msg.chat.id}, function (findError, findResult){
if(findResult != null)
{
var currentStat = findResult.Status;
if (currentStat == 1)
{
collection.update({ChatId : msg.chat.id}, {$set: {Fullname : msg.text.toString("utf8") , Status : 2}});
bot.sendMessage(chatId,"نام و نام خانوادگی شما ثبت شد. لطفا اطلاعات تماس خود را وارد نمائید:");
}
else if (currentStat == 2)
{
collection.update({ChatId : msg.chat.id}, {$set: {Contact : msg.text.toString("utf8") , Status : 3}});
bot.sendMessage(chatId,"اطلاعات تماس شما ثبت شد. لطفا حوزه های تخصص خود را وارد نمائید:");
}
else if (currentStat == 3)
{
collection.update({ChatId : msg.chat.id}, {$set: {Expertise : msg.text.toString("utf8") , Status : 4}})
bot.sendMessage(chatId,"حوزه های تخصص شما ثبت شد. لطفا فعالیت های پیشین خود را وارد نمائید:");
}
else if (currentStat == 4)
{
collection.update({ChatId : msg.chat.id}, {$set: {Experience : msg.text.toString("utf8") , Status : 5}})
bot.sendMessage(chatId,"فعالیت های پیشین شما ثبت شد. لطفا فعالیت های مورد علاقه ی خود در همکاری با ما را ذکر نمائید.");
}
else if (currentStat == 5)
{
collection.update({ChatId : msg.chat.id}, {$set: {Intrest : msg.text.toString("utf8") , Status : 6}})
bot.sendMessage(chatId,"فعالیت های مورد علاقه ی شما در همکاری با ما ثبت شد.\nممنون از اینکه با ما در ارتباط بودید. پس از بررسی سوابق شما با شما تماس خواهیم گرفت.");
}
}
});
break;
}
}
});
});
});
bot.on('callback_query', function onCallbackQuery(callbackQuery) {
const action = callbackQuery.data;
const msg = callbackQuery.message;
const opts = {
chat_id: msg.chat.id,
message_id: msg.message_id,
};
let text;
if (action === '1') {
text = 'اطلاعات پیشین شما در سامانه به ثبت رسیده و تغییری نکرده است.';
}
else if (action === '2'){
text= 'شما میتوانید رزومه ی خود را برای ما ارسال نمائید. /cv';
mongo.connect(ConnectionString, function(err, db){
db.collection('CV', function(error, collection){
collection.findOne({ChatId : msg.chat.id}, function (findError, findResult){
if(findResult != null)
{
collection.update({ChatId : msg.chat.id}, {$set: {ChatId : findResult.ChatId * -1 }});
text ="با تشکر از شما. لطفا مجددا رزومه ی خود را ارسال نمائید. /cv";
}
});});});
}
else{
text = 'این درخواست تعریف نشده است';
}
bot.editMessageText(text, opts);
});
/*
bot.on('message', (msg) => {
const chatId = msg.chat.id;
bot.sendMessage(chatId, 'Received your message');
});
*/