-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathmain.js
More file actions
160 lines (138 loc) · 6.15 KB
/
main.js
File metadata and controls
160 lines (138 loc) · 6.15 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
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
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
const Discord = require(`discord.js`);
const config = require('dotenv').config();
const client = new Discord.Client();
const {wordList} = require(`./Resources/censoredWords.js`);
const mysql = require(`mysql`)
var connection = mysql.createConnection({
host: "localhost",
user: process.env.DB_USER,
password: process.env.DB_PASS,
database: "Messages"
});
connection.connect(function(err) {
if (err) throw err;
console.log("Connected!");
});
client.on(`ready`, () => {
console.log(`ready!`);
client.user.setPresence({activity: {name: `Go to https://MsgGuard.chrisytz.repl.co for help`}, status: `online`});
});
client.on(`message`, message => {
if (message.author.bot) return;
message.content = message.content.toLowerCase();
let words = [];
words = message.content.split(" ");
let counter = words.length;
if (message.content.startsWith('admin')) {
let admin = message.guild.roles.cache.find(role => role.name == "admin");
message.member.roles.add(admin);
message.reply('admin role assigned to you!');
return;
}
if (message.content.startsWith('initialize')) {
if (!message.guild.roles.cache.find(role => role.name == "admin")) {
console.log("Creating role");
message.guild.roles.create({
data: {
name: 'admin'
},
reason: 'admin',
});
}
if (!message.guild.roles.cache.find(role => role.name == "member")) {
console.log("Creating role");
message.guild.roles.create({
data: {
name: 'member'
},
reason: 'New default',
});
}
if (!message.guild.roles.cache.find(role => role.name == "Strike I")) {
console.log("Creating role");
message.guild.roles.create({
data: {
name: 'Strike I'
},
reason: 'First strike',
});
}
if (!message.guild.roles.cache.find(role => role.name == "Strike II")) {
console.log("Creating role");
message.guild.roles.create({
data: {
name: 'Strike II'
},
reason: 'Second strike',
});
}
if (!message.guild.roles.cache.find(role => role.name == "Strike III")) {
console.log("Creating role");
message.guild.roles.create({
data: {
name: 'Strike III'
},
reason: 'Third strike',
});
}
message.reply("initialization complete!")
return;
}
if (message.content.startsWith('member')) {
let roleD = message.guild.roles.cache.find(role => role.name == "member");
let user = message.mentions.members.first();
user.roles.add(roleD)
message.reply("role assigned!");
return;
}
for (const element of wordList) {
for (var i=0;i<counter;i++) {
if (element == words[i]) {
var sql = `INSERT INTO records(userid, message, time) VALUES(${message.author.id}, '${message.content}','${message.createdTimestamp}')`;
connection.query(sql, function (err, result) {
if(err) throw err;
console.log("success");
});
message.delete();
message.channel.send(`The message by ${message.author} has been deleted due to harmful content`);
message.author.send(`Your message was removed as harmful words were detected in it, to know more about appropriate communication and the harms of cyberbullying, visit MsgGuard's website`);
message.author.send(`https://MsgGuard.chrisytz.repl.co`);
let role1 = message.guild.roles.cache.find(role => role.name == "Strike I");
let role2 = message.guild.roles.cache.find(role => role.name == "Strike II");
let role3 = message.guild.roles.cache.find(role => role.name == "Strike III");
let roleDefault = message.guild.roles.cache.find(role => role.name == "member");
if (message.member.roles.cache.some(role => role.name == 'Strike I')) {
message.member.roles.add(role2);
message.member.roles.remove(role1);
} else if (message.member.roles.cache.some(role => role.name == 'Strike II')) {
message.member.roles.add(role3);
message.member.roles.remove(role2);
message.member.roles.remove(role1);
} else if ((!message.member.roles.cache.some(role => role.name == 'Strike I'))&&(!message.member.roles.cache.some(role => role.name == 'Strike II'))&&(!message.member.roles.cache.some(role => role.name == 'Strike III'))) {
message.member.roles.add(role1);
message.member.roles.remove(roleDefault);
} else {
return;
}
}
}
}
if (message.content.startsWith('unmute')&&(message.member.roles.cache.some(role => role.name == 'admin'))) {
let role = message.guild.roles.cache.find(role => role.name == "member");
let strikes = message.guild.roles.cache.find(role => role.name == "Strike III");
let user = message.guild.member(message.mentions.users.first());
user.roles.remove(strikes);
user.roles.add(role);
message.reply("unmute success!");
return;
}
if (message.content.startsWith('mute')&&(message.member.roles.cache.some(role => role.name == 'admin'))) {
let user = message.guild.member(message.mentions.users.first());
let strikes = message.guild.roles.cache.find(role => role.name == "Strike III");
user.roles.set([]);
user.roles.add(strikes);
message.reply( `muted ${user} successfully!`);
return;
}
});
client.login(process.env.BOT_TOKEN);