Last active
January 25, 2021 09:40
-
-
Save ilsubyeega/a0409fce705ebd219c4a1a836cc7ccbd to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
var enabled = false; | |
register("chat", function (name) { | |
ChatLib.say("/f accept " + ChatLib.removeFormatting(name).replace(/\[.+]/g, "").trim()); | |
}).setCriteria("&r&eFriend request from &r${name}&r&9\n&r&a&l").setParameter("contains"); | |
var apikey = Java.type("java.lang.System").getenv("HYPIXEL_API_KEY"); | |
import { | |
request | |
} from '../requestV2'; | |
register('command', enable).setCommandName('enablestatsbot'); | |
function enable() { | |
if (enabled) { | |
ChatLib.chat("&cDisabled Bedwars Party Stats Bot."); | |
enabled = false; | |
return; | |
} | |
ChatLib.chat("&aEnabled Bedwars Party Stats Bot."); | |
enabled = true; | |
return; | |
} | |
register("chat", function (name) { | |
if (!enabled) return; | |
if (name.includes("ilsubyeega")) return; | |
fetchPlayerThenChat(name, "/pc "); | |
}).setCriteria("${name}&r&ejoined the party.&r").setParameter("contains"); | |
register("chat", function (event) { | |
if (!enabled) return; | |
var value = ChatLib.getChatMessage(event, true).toString(); | |
value = ChatLib.removeFormatting(value); | |
if (value.includes(": s ")) { | |
var temp = value.split(": s "); | |
if (temp.length == 2) { | |
var tmpv2 = temp[1].split(" "); | |
tmpv2.forEach(element => { | |
setTimeout(() => { | |
fetchPlayerThenChat(element, "/pc "); | |
}, 200); | |
}); | |
} | |
} | |
}).setCriteria("&r&9Party &8>").setParameter("contains"); | |
register("chat", function (event) { | |
if (!enabled) return; | |
var value = ChatLib.getChatMessage(event, true).toString(); | |
value = ChatLib.removeFormatting(value); | |
if (value.includes(": s ")) { | |
var temp = value.split(": s "); | |
if (temp.length == 2) { | |
var tmpv2 = temp[1].split(" "); | |
tmpv2.forEach(element => { | |
setTimeout(() => { | |
fetchPlayerThenChat(element, "/gc "); | |
}, 200); | |
}); | |
} | |
} | |
}).setCriteria("&r&2Guild >").setParameter("contains"); | |
function fetchPlayerThenChat(name, prefix) { | |
var user = ChatLib.removeFormatting(name).replace(/\[.+]/g, "").replace(/[^a-z0-9]/gi, '').trim(); | |
request("https://api.hypixel.net/player?key=" + apikey + "&name=" + user) | |
.then(function (response) { | |
try { | |
var parsedResponse = JSON.parse(response); | |
var star = parsedResponse?.player?.achievements?.bedwars_level; | |
var finals = parsedResponse?.player?.stats?.Bedwars?.final_kills_bedwars; | |
var finalsL = parsedResponse?.player?.stats?.Bedwars?.final_deaths_bedwars; | |
var wins = parsedResponse?.player?.stats?.Bedwars?.wins_bedwars; | |
var loses = parsedResponse?.player?.stats?.Bedwars?.losses_bedwars; | |
var winlr = wins / loses; | |
var fkdr = finals / finalsL; | |
var winstreakoverall = parsedResponse.player.stats.Bedwars.winstreak; | |
var winstreak1 = parsedResponse.player.stats.Bedwars.eight_one_winstreak; | |
var winstreak2 = parsedResponse.player.stats.Bedwars.eight_two_winstreak; | |
var winstreak3 = parsedResponse.player.stats.Bedwars.four_three_winstreak; | |
var winstreak4 = parsedResponse.player.stats.Bedwars.four_four_winstreak; | |
ChatLib.say(prefix + `[${star ?? 0}✫] ${user} | WS: ${winstreakoverall ?? 0} (${winstreak1 ?? 0}/${winstreak2 ?? 0}/${winstreak3 ?? 0}/${winstreak4 ?? 0})`); | |
setTimeout(() => { | |
ChatLib.say(prefix + `FKDR: ${fkdr.toFixed(2)} (${finals ?? 0}) | WLR: ${winlr.toFixed(2)} (${wins ?? 0})`); | |
}, 100); | |
} catch (err) { | |
ChatLib.chat("&cError:" + err); | |
ChatLib.chat("&cUser:" + user); | |
ChatLib.chat("&cResponses:" + response); | |
} | |
}) | |
.catch(function (error) { | |
try { | |
var parse = JSON.parse(error); | |
if (parse.success == false){ | |
if (parse?.throttle == true){ | |
ChatLib.chat("&6[Hypixel-API] &fRate limited") | |
} else { | |
ChatLib.chat("&6[Hypxiel-API] &fError: " + parse?.cause); | |
} | |
} | |
} catch (err){ | |
ChatLib.chat("&cError:" + err); | |
} | |
}); | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment