forked from PEMS-Motors/PickTicket-Monitor
-
Notifications
You must be signed in to change notification settings - Fork 0
/
index.js
129 lines (116 loc) · 6.57 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
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
// Copyright 2020 Precision Electric Motor Sales
const fs = require('fs');
const Discord = require('discord.js');
const Enmap = require("enmap");
const config = require('./config.js');
const sendEmail = require('./modules/email.js');
const client = new Discord.Client();
client.config = config;
client.commands = new Enmap();
// Start email timer
var startEmailTimer = sendEmail.command_sendEmail;
// Set some globals to call in other files
global.globalClient = client;
global.globalTimer = setTimeout(startEmailTimer, 1800000); // 30 min timer to trigger alert email
global.globalDay = new Date().getDay(); // Current day 0-6 (0 = sunday monday = 1)
global.globalHours = new Date().getHours(); // Current hours of the 0-23 (0 = midnight 1am = 1)
global.globalOfficeOpen = config.hoursOfOperation.mainOfficeOpen;
global.globalOfficeClose = config.hoursOfOperation.mainOfficeClose;
// Restart the timer after it reaches the end
restartTimer = function () {
global.globalTimer = setTimeout(startEmailTimer, 1800000); // 30 min timer to trigger alert email
};
/*****************************************************
* Bring Over Location Commands *
****************************************************/
const ca = require('./commands/ca.js'); const csh = require('./commands/csh.js');
const ct = require('./commands/ct.js'); const emw = require('./commands/emw.js');
const fl = require('./commands/fl.js'); const il = require('./commands/il.js');
const md = require('./commands/md.js'); const mi = require('./commands/mi.js');
const mn = require('./commands/mn.js'); const mo = require('./commands/mo.js');
const nc = require('./commands/nc.js'); const tn = require('./commands/tn.js');
const tx = require('./commands/tx.js');
/*****************************************************
* Start Scanning Folders *
****************************************************/
client.on("ready", () => {
client.user.setActivity(`PEMS | ${config.bot.prefix}`);
var statuschannel = client.channels.find(channel => channel.id === config.channels.status);
// Send to discord the folders we are going to scan!
statuschannel.send({
embed: {
color: 0x2ecc71, title: "Monitoring Has Started!",
fields: [
{ name: "Michigan Warehouse!:", value: config.filepaths.MI, inline: true },
{ name: "Illinois Warehouse!:", value: config.filepaths.IL, inline: true },
{ name: "North Carolina Warehouse!:", value: config.filepaths.NC, inline: true },
{ name: "Missouri Warehouse!:", value: config.filepaths.MO, inline: true },
{ name: "California Warehouse!:", value: config.filepaths.CA, inline: true },
{ name: "Texas Warehouse!:", value: config.filepaths.TX, inline: true },
{ name: "Minnesota Warehouse!:", value: config.filepaths.MN, inline: true },
{ name: "Connecticut Warehouse!:", value: config.filepaths.CT, inline: true },
{ name: "Maryland Warehouse!:", value: config.filepaths.MD, inline: true },
{ name: "Florida Warehouse!:", value: config.filepaths.FL, inline: true },
{ name: "Tennessee Warehouse!:", value: config.filepaths.TN, inline: true },
{ name: "CSH Warehouse!:", value: config.filepaths.CSH, inline: true },
{ name: "EMW Warehouse!:", value: config.filepaths.EMW, inline: true }
],
timestamp: new Date().getTime(), footer: { text: "Current Time Status" }
}
});
// Log to console the actual path we are starting to scan then start
// To scan that folder after.
console.log("Started to Monitor " + config.filepaths.MI); mi.command_mi(0);
console.log("Started to Monitor " + config.filepaths.IL); il.command_il(0);
console.log("Started to Monitor " + config.filepaths.NC); nc.command_nc(0);
console.log("Started to Monitor " + config.filepaths.MO); mo.command_mo(0);
console.log("Started to Monitor " + config.filepaths.CA); ca.command_ca(0);
console.log("Started to Monitor " + config.filepaths.TX); tx.command_tx(0);
console.log("Started to Monitor " + config.filepaths.MN); mn.command_mn(0);
console.log("Started to Monitor " + config.filepaths.CT); ct.command_ct(0);
console.log("Started to Monitor " + config.filepaths.MD); md.command_md(0);
console.log("Started to Monitor " + config.filepaths.FL); fl.command_fl(0);
console.log("Started to Monitor " + config.filepaths.TN); tn.command_tn(0);
console.log("Started to Monitor " + config.filepaths.CSH); csh.command_csh(0);
console.log("Started to Monitor " + config.filepaths.EMW); emw.command_emw(0);
console.log(`${client.user.username} has loaded correctly and is online!`);
});
/*****************************************************
* Collect Last PickTicket *
****************************************************/
/*client.on('message', message => {
// Bring over channels used
var botspamChannel = client.channels.find(channel => channel.id === config.channels.botspam);
var mostrecentChannel = client.channels.find(channel => channel.id === config.channels.mostrecent);
let filter = m => true;
let collector = new Discord.MessageCollector(mostrecentChannel, filter, 1);
let counter = 0;
collector.on('collect', (message, col) => {
console.log("Message Collected:" + message.timestamp);
botspamChannel.send("Message Collected:" + message.timestamp);
});
});*/
/*****************************************************
* Client Events *
****************************************************/
fs.readdir("./events/", (err, files) => {
if (err) return console.error(err);
files.forEach(file => {
const event = require(`./events/${file}`);
let eventName = file.split(".")[0];
client.on(eventName, event.bind(null, client));
});
});
fs.readdir("./commands/", (err, files) => {
if (err) return console.error(err);
files.forEach(file => {
if (!file.endsWith(".js")) return;
let props = require(`./commands/${file}`);
let commandName = file.split(".")[0];
console.log(`Attempting to load command ${commandName}`);
client.commands.set(commandName, props);
});
});
//console.log(global.globalHours);
//console.log(global.globalDay);
client.login(config.bot.token);