-
Notifications
You must be signed in to change notification settings - Fork 7
Expand file tree
/
Copy pathapp.js
More file actions
77 lines (60 loc) · 2.62 KB
/
app.js
File metadata and controls
77 lines (60 loc) · 2.62 KB
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
console.log("music.marcorennmaus.tk Discordbot booting up...")
const Discord = require("discord.js");
const client = new Discord.Client();
const fs = require("fs");
const botsettingsdb = "./settings.json"
const mysql = require("mysql");
const cmd = require("./cmd/main.js")
console.log(fs.readFileSync(botsettingsdb, "utf8"))
var botsettings = JSON.parse(fs.readFileSync(botsettingsdb, "utf8"))
var messagesInLastPeriod = 0
const DBL = require("dblapi.js");
const dbl = new DBL(botsettings.dbl_token, client);
var mysqlcon = mysql.createConnection({
host: botsettings.mysql_host,
user: botsettings.mysql_user,
password: botsettings.mysql_password,
database: botsettings.mysql_database,
charset: 'utf8mb4'
});
mysqlcon.query("CREATE TABLE IF NOT EXISTS grafanadata (id BIGINT NOT NULL AUTO_INCREMENT, time DATETIME, guilds int, messages int, onlinemembers int, PRIMARY KEY (id)) CHARSET=utf8mb4", function (err, result) {
if (err) {
throw "Error while starting up: " + err
}
})
client.on('ready', () => {
console.log('Successfully logged in!');
//Guild Amount Test
var guilds = client.guilds.map(g => g.name).join("\n")
console.log(guilds);
});
client.on('error', (err) => {
console.log(err)
})
client.on('message', msg => {
messagesInLastPeriod++
if (msg.channel.type === "text") { console.log("[" + msg.author.username + "@" + msg.guild.name + "/" + msg.channel.name + "] " + msg.content) }
if (msg.channel.type === "group") { console.log("[" + msg.author.username + "@GROUP/GROUP] " + msg.content) }
if (msg.channel.type === "dm") { console.log("[" + msg.author.username + "@DM/DM] " + msg.content) }
if (msg.author.bot){
console.log("Author is a bot, ignoring message.")
return false;
}
cmd.main(msg, botsettings, mysql, mysqlcon, client)
});
client.login(botsettings.token);
setInterval(function () {
var guilds = client.guilds.map(g => g.name).join("\n")
var guildarray = guilds.split("\n")
console.log("Guild Amount:" + guildarray.length);
var onlineusers = client.users.filter(g => g.presence.status != "offline").map(g => g.name).join("\n");
var usersarray = onlineusers.split("\n")
console.log("User Amount:" + usersarray.length)
mysqlcon.query("INSERT INTO grafanadata (time, guilds, onlinemembers, messages) VALUES (CURRENT_TIMESTAMP(), " + guildarray.length + ", " + usersarray.length + ", " + messagesInLastPeriod + ");", function (err, result, fields) {
if (err) {
console.log("Error while sending Grafana Data:")
console.log(err)
}
messagesInLastPeriod = 0;
})
}, 10000);