aboutsummaryrefslogtreecommitdiff
path: root/chat/message.js
blob: 180e90bb34970dd8bd8c00da4f4327ea380c0ff6 (plain)
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
/*
Created 11/11/2022 by Ninjune.
*/
import axios from "../../axios"
import settings from "../settings"
import constants from "../util/constants"
import { addCommas } from "../util/helperFunctions"
const PREFIX = constants.PREFIX
let cwlbData = [],
 newMessage, message, messagePrefix, cwlbPlayerData, onward

register("chat", (level, typeOfChat, hypixelRank, username, playerMessage, event) => { // CW Rank
    if(!settings.rankChat) return
    if(!settings.rankEverywhere && !(constants.serverData.map == "Crystal Hollows" || constants.serverData.map == "Dwarven Mines")) return
    if(!settings.rankEverywhere && typeOfChat != "") return
    onward = true

    playerMessage.split(" ").forEach((chunk) => {
        if (chunk.startsWith("https"))
            onward = false
    })
    if(!onward || cwlbData == undefined) return
    cwlbPlayerData = cwlbData.filter(player => player.name == username)[0]
    if(cwlbPlayerData == undefined) return
    newMessage = new Message()
    message = ChatLib.getChatMessage(event, true),
    messagePrefix = message
    cancel(event)
        
    messagePrefix = message.slice(0, message.indexOf(':')) + ` &8[&6#${addCommas(cwlbPlayerData.rank)}&8]&f: `
    
    newMessage.addTextComponent(messagePrefix)

    if (hypixelRank == "" && typeOfChat == "")
        playerMessage = "&7" + playerMessage.slice(0)
    else
        playerMessage = "&f" + playerMessage.slice(0)
    
    newMessage.addTextComponent(playerMessage)
    ChatLib.chat(newMessage)
}).setCriteria(/^(\[\d+\] )?((?:(?:Guild|Party|Co-op) > )|(?:\[:v:\] ))?(\[\w+\+{0,2}\] )?(\w{1,16})(?: \[\w{1,6}\])?: (.*)$/g)

register("worldLoad", () => {
    axios.get(`https://ninjune.dev/api/coleweight-leaderboard?length=500`)
    .then(res => {
        cwlbData = res.data
    })
    .catch(err => {
        ChatLib.chat(err)
    })
})


register("messageSent", (origMessage, event) => { // emotes! this was fun to make :)
    let commandState = 0,
     command = "",
     colonIndex1 = -1,
     message = ""
    
    for(let charIndex = 0; charIndex < origMessage.length; charIndex++)
    {
        if(origMessage[charIndex] == ":" && commandState == 0)
        {
            colonIndex1 = charIndex
            commandState = 1
        }
        else if (origMessage[charIndex] == ":" && commandState == 1)
        {
            commandState = 2
            command = origMessage.slice(colonIndex1 + 1, charIndex).toLowerCase()
        }
    }
    if(command == "shrug")
    {
        cancel(event)
        emote = "¯\\_(ツ)_/¯"
    }
    else if (command == "lenny")
    {
        cancel(event)
        emote = "( ͡° ͜ʖ ͡°)"
    }
    else
        return
    message = origMessage.slice(0, colonIndex1) + emote + origMessage.slice(colonIndex1 + 2 + command.length, origMessage.length)
    ChatLib.say(`${message}`)
})


// first time check
register("step", () => {
    if (constants.data.first_time) 
    {
        constants.data.first_time = false
        constants.data.save()
        ChatLib.chat("")
        new TextComponent(ChatLib.getCenteredText(`${PREFIX}&bPlease Set Your Api Key By Doing /api new`)).chat()
        new TextComponent(ChatLib.getCenteredText(`${PREFIX}&bOr By Doing /cw setkey (key)`)).chat()
        new TextComponent(ChatLib.getCenteredText(`${PREFIX}&bView commands: /cw help`)).chat()
        ChatLib.chat("")
    }
    if (constants.data.api_key == undefined || constants.data.api_key == "") return
}).setFps(1);

export default ""