Skip to content

Commit

Permalink
Boring release v1.5.12
Browse files Browse the repository at this point in the history
+ Added custom response messages
  • Loading branch information
NotGhex committed Aug 1, 2021
1 parent 9e029c2 commit f7c5148
Show file tree
Hide file tree
Showing 4 changed files with 96 additions and 48 deletions.
2 changes: 1 addition & 1 deletion assets/messages.json
Original file line number Diff line number Diff line change
Expand Up @@ -63,5 +63,5 @@
"connected": "Database connected!",
"connection_logged": "MySQL connection logged!"
},
"version": "1.5.11"
"version": "1.5.12"
}
42 changes: 12 additions & 30 deletions assets/response.json
Original file line number Diff line number Diff line change
@@ -1,37 +1,19 @@
{
"minecraft": {
"+hi+": [
"Hello, %author%",
"Hellooooo %author% :smilly:",
"Hello %author%"
"hello bitch": [
"bruh %player%"
],
"+hello+": [
"Hi %author%",
"Hi, %author%"
],
"+im new": [
"Hello %author%",
"Welcome %author%!",
"Hi new"
],
"kill+": [
"No plsssss!",
"Don't kill me! brehh",
"please no I'm innocent!",
"breh why I'll kill you on my next update! lul",
"wth pls noooo!"
],
"what is bot": "Bot is a computer software that performs task like humans :)",
"+are you a spy": [
"NOOOOOOOOOOOOOOoooo!",
"Ofc... No -_-",
"Breh! nah!",
"Why'd you ask?",
"A big no",
"modbot is the spy not me lul"
"hello bitches": [
"%player% WHAAAAAAAAAAAAAAAAT!"
]
},
"discord": {

}
"eeeee": [
"breh",
"eee",
"hello e"
],
"yoobreh": "brehhhh"
},
"version": "1.5.12"
}
6 changes: 3 additions & 3 deletions config.json
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
"reconnectTimeout": 5000
},
"player": {
"enabled": true,
"enabled": false,
"name": "HiddenPlayer",
"version": null,
"message": "hello",
Expand Down Expand Up @@ -73,12 +73,12 @@
"debug": {
"enabled": true,
"movements": false,
"discord_chats": false,
"discord_chats": true,
"minecraft_chats": true,
"prefix": "",
"suffix": ""
},
"messages": "assets/messages.json",
"responses": "assets/response.json",
"version": "1.5.11"
"version": "1.5.12"
}
94 changes: 80 additions & 14 deletions index.js
Original file line number Diff line number Diff line change
Expand Up @@ -34,21 +34,30 @@ let db_user = config['database']['user'];
let db_pass = config['database']['pass'];
let db_name = config['database']['database'];

//messages file
//messages and response files
//messages null check
if (config['messages'] == null) {
console.error('[Error - Config] Can\'t load messages file');
process.exit(0);
}
if (config['responses'] == null) {
console.error('[Error - Config] Can\'t load response messages file');
process.exit(0);
}

//parse messages file
//parse messages and response files
let messages = JSON.parse(fs.readFileSync(config['messages']));
let messageResponseFile = JSON.parse(fs.readFileSync(config['responses']));

//messages file version check
//messages and reponse files version check
if(messages['version'] != config['version']) {
console.error('[Error - Config] Config version doesn\'t match messages file version');
process.exit(0);
}
if(messageResponseFile['version'] != config['version']) {
console.error('[Error - Config] Config version doesn\'t match response messages file version');
process.exit(0);
}

//config version
const configVersion = config['version'];
Expand Down Expand Up @@ -89,10 +98,6 @@ function parse (url = null){
success = true;
}

console.log();
console.log();
console.log();

//change config contents
config = body_config;

Expand All @@ -106,21 +111,30 @@ function parse (url = null){
db_pass = config['database']['pass'];
db_name = config['database']['database'];

//messages file
//messages and response files
//messages null check
if (config['messages'] == null) {
console.error('[Error - Config] Can\'t load messages file');
process.exit(0);
}
if (config['responses'] == null) {
console.error('[Error - Config] Can\'t load response messages file');
process.exit(0);
}

//parse messages file
//parse messages and response files
messages = JSON.parse(fs.readFileSync(config['messages']));
messageResponseFile = JSON.parse(fs.readFileSync(config['responses']));

//messages file version check
//messages and reponse files version check
if(messages['version'] != config['version']) {
console.error('[Error - Config] Config version doesn\'t match messages file version');
process.exit(0);
}
if(messageResponseFile['version'] != config['version']) {
console.error('[Error - Config] Config version doesn\'t match response messages file version');
process.exit(0);
}

if(debug) console.log('[Log - Config] '+messages['reload_config']['success']);

Expand All @@ -142,23 +156,32 @@ if(debug) console.log('[Log - Debug Mode] '+messages['logging']['enabled']);
if(!debug) console.log('[Log - Debug Mode] '+messages['logging']['disabled']);

//Global functions
//excape regex in string
function escapeRegExp(string) {
return string.replace(/[.*+\-?^${}()|[\]\\]/g, '\\$&'); // $& means the whole matched string
}

//replace all from a string
function replaceAll(str, find, replace) {
if(str != null){
return str.replace(new RegExp(escapeRegExp(find), 'g'), replace);
}
}

//get random
function randomInteger(min, max) {
return Math.floor(Math.random() * (max - min + 1)) + min;
}

//limit string lenght to 100
function limitText(text = null){
if(text != null && text.length >= 100){
text = text.substr(0,100) + "...";
}
return text;
}

//find property value from an object
function findValueOfProperty(obj, propertyName){
let reg = new RegExp(propertyName, "i"); // "i" to make it case insensitive
return Object.keys(obj).reduce((result, key) => {
Expand All @@ -167,6 +190,7 @@ function findValueOfProperty(obj, propertyName){
}, []);
}

//trim some unicodes from stirng
function trimUnicode(text) {
if(text != null){
text = text.trim();
Expand All @@ -183,6 +207,33 @@ function trimUnicode(text) {
}
}

//get random response to a message
function customResponse(message = null, get = true, source = "minecraft") {
if(message != null){
message = replaceAll(trimUnicode(message).toLowerCase(), config['player']['name'].toLowerCase(), "").trim();

if(Object.keys(messageResponseFile[source]).includes(message)){

if(typeof messageResponseFile[source][message] == 'object' && messageResponseFile[source][message].length > 0 || typeof messageResponseFile[source][message] == 'string' && messageResponseFile[message] != ''){

let response = null;

if(get == false) return true;

if(typeof messageResponseFile[source][message] == 'object') {
response = messageResponseFile[source][message][Math.floor(Math.random() * Object.keys(messageResponseFile[source][message]).length)];
} else if (typeof messageResponseFile[source][message] == 'string') {
response = messageResponseFile[source][message];
}

return response;
}
}
}

return false;
}

//Main Functions

//Minecraft bot function
Expand Down Expand Up @@ -391,9 +442,6 @@ function newBot(){
lmsg = message.toLowerCase();
lrmsg = removeMensions.toLowerCase();

//random int
let randommizer = randomInteger(0,5);

//bot reply
if(lmsg == player.toLowerCase() + ' hi'|| lmsg == 'hi ' + player.toLowerCase() || lrmsg == 'hi guys' || lrmsg == 'hi bot' || lrmsg == 'bot hi'){
reply = messages['minecraft_bot']['response']['hi'];
Expand All @@ -409,6 +457,8 @@ function newBot(){
reply = messages['minecraft_bot']['response']['spy'];
} else if (lmsg.indexOf("kill "+player) > -1){
reply = messages['minecraft_bot']['response']['kill'];
} else if (customResponse(lmsg, false)){
reply = customResponse(lmsg, true);
}

//reply placeholders
Expand Down Expand Up @@ -770,11 +820,19 @@ function DiscordBot(){
//return if the author is the bot
if(author.bot) return;

//CMD or STRING parser
//CMD or STRING check
if (!rawMessage.startsWith(config['discord']['command-prefix'])){
if(config['debug']['discord_chats']) console.log("[Log - Discord Bot] "+messages['discord_bot']['message_sent']+": "+author);
//discord msg

console.log();
console.log();
console.log(customResponse(rawMessage, false, "discord"));
console.log(customResponse(rawMessage, true, "discord"));
console.log(Object.keys(messageResponseFile['discord']).includes(rawMessage));
console.log();
console.log();

if(findName(rawMessage) && removeMensions(lowerMessage) == 'hi' || lowerMessage == 'hi guys'){

if (randomResponse == 0)
Expand Down Expand Up @@ -937,6 +995,14 @@ function DiscordBot(){
.setDescription('`Source: '+source+'`');
message.channel.send(embed);
}
} else if (customResponse(rawMessage, false, "discord")) {
let reply = customResponse(rawMessage, true, "discord");

reply = replaceAll(reply, "%botname%", botName);
reply = replaceAll(reply, "%author%", author);
reply = replaceAll(reply, "%author_ping%", mension);

message.channel.send(reply);
} else if(findName(rawMessage) || taggedUser == botUser_id) {
message.react('854320612565450762');
}
Expand Down

0 comments on commit f7c5148

Please sign in to comment.