-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathindex.js
58 lines (50 loc) · 2.42 KB
/
index.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
const Discord = require('discord.js');
const CoptechBot = new Discord.Client();
const moment = require('moment');
const mongoose = require('mongoose');
const { configDB, configDiscord } = require('./config/config');
const employeeSchema = require('./model/employee');
// Database
mongoose.connect(`mongodb+srv://${configDB.dbHost}:${configDB.dbPass}@cluster0-coptech-bot-discord-rsv4f.mongodb.net/${configDB.dbName}?retryWrites=true&w=majority`, { useNewUrlParser: true, useUnifiedTopology: true});
mongoose.connection
.once('open', () => console.log('Database is connected! === Discord CHECK-IN'))
.on('error', (error) => {
console.warn('Warning', error);
});
const Employee = mongoose.model('employee', employeeSchema);
// BOT
CoptechBot.login(configDiscord.tokenBot, () => {
}).catch((error) => console.log('error', error));
CoptechBot.on('ready', () => {
console.log('Coptech Bot Ready!');
});
CoptechBot.on('message', async msg => {
const username = msg.author.username;
const id = msg.author.discriminator;
const text = msg.content;
const currentChannel = msg.channel.id;
const checkInChannel = currentChannel;
if (username !== configDiscord.botName && id !== configDiscord.botId && currentChannel === checkInChannel) {
switch(text) {
case 'check-in':
await Employee.create({
name: username,
userId: id,
startWork: Date.now(),
})
msg.reply('บันทึกสำเร็จครับ มาทำงานเวลา : '+ moment().format('MMMM Do YYYY h:mm:ss') + "ออกงานอย่าลืมพิมพ์ bye ด้วยนะครับ")
break;
case 'check-out':
await Employee.create({
name: username,
userId: id,
endWork: Date.now(),
})
msg.reply('บันทึกสำเร็จครับ ออกงานเวลา: '+ moment().format('MMMM Do YYYY h:mm:ss'))
break;
default:
msg.reply('บันทึกผิดพลาดครับ โปรดลองใหม่อีกครั้ง ต้องการ (เข้างาน พิมพ์ check-in) || (ออกงาน พิมพ์ check-out)')
break;
}
}
});