\n \u003Ca href=\"https://github.com/WiIIiam278/HuskChat/actions/workflows/ci.yml\">\n \u003Cimg src=\"https://img.shields.io/github/actions/workflow/status/WiIIiam278/HuskChat/ci.yml?branch=master&logo=github\"/>\n \u003C/a> \n \u003Ca href=\"https://repo.william278.net/#/releases/net/william278/huskchat/\">\n \u003Cimg src=\"https://repo.william278.net/api/badge/latest/releases/net/william278/huskchat?color=00fb9a&name=Maven&prefix=v\" />\n \u003C/a> \n \u003Ca href=\"https://discord.gg/tVYhJfyDWG\">\n \u003Cimg src=\"https://img.shields.io/discord/818135932103557162.svg?label=&logo=discord&logoColor=fff&color=7389D8&labelColor=6A7EC2\" />\n \u003C/a> \n \u003Cbr/>\n \u003Cb>\n \u003Ca href=\"https://www.spigotmc.org/resources/huskchat.94496/\">Spigot\u003C/a>\n \u003C/b> —\n \u003Cb>\n \u003Ca href=\"https://william278.net/docs/huskchat/setup\">Setup\u003C/a>\n \u003C/b> — \n \u003Cb>\n \u003Ca href=\"https://william278.net/docs/huskchat/\">Docs\u003C/a>\n \u003C/b> — \n \u003Cb>\n \u003Ca href=\"https://github.com/WiIIiam278/HuskChat/issues\">Issues\u003C/a>\n \u003C/b>\n\u003C/p>\n\u003Cbr/>\n\n**HuskChat** is a no-frills, simple and customisable chat system for Minecraft networks. It supports both running on BungeeCord and Velocity frontend servers for cross-server chat, or on a single-server Spigot setup.\n\nIt's designed to be easy to configure with an elegant out-of-box setup, while also being highly configurable, suiting a variety of use cases by allowing you to define channels and manage who can send and receive messages within them.\n\n## Features\n**⭐ Works great out of the box** — Install on your Spigot server or Velocity/BungeeCord-based proxy and use right away\n\n**⭐ Placeholder support** — Hooks with LuckPerms to display user roles, PAPI support via [PAPIProxyBridge](https://william278.net/docs/huskchat/formatting)\n\n**⭐ Private messaging** — Private messages—including group DMs&mdash and replying, admin spy features\n\n**⭐ Fine-tune channels** — Set send/receive permissions for channels, send messages to a discord webhook, filter [& more](https://william278.net/docs/huskchat/channels)!\n\n**⭐ Quick and easy to use** — Super simple set of [commands](https://william278.net/docs/huskchat/commands). Define channel shortcut commands, too!\n\n**⭐ Advanced profanity checking** — Machine learning powered profanity filter\n\n**⭐ Filters & replacers** — Customisable spam limiting filter, anti-advertising & special emoji\n\n**⭐ Modern formatting** — Utilise modern formatting, with RGB and Gradient support via [MineDown](https://github.com/Phoenix616/MineDown)\n\n## Building\nTo build HuskChat, you'll need python (>=`v3.6`) with associated packages installed; `jep` and `alt-profanity-check`. \nYou can install these with `pip install jep` and `pip install alt-profanity-check`. These are needed to run the profanity filter tests.\n\nThen, simply run the following in the root of the repository:\n```\n./gradlew clean build\n```\n\n## License\nHuskChat is licensed under the Apache 2.0 license.\n\n- [License](https://github.com/WiIIiam278/HuskChat/blob/master/LICENSE)\n\n## Translations\nTranslations of the plugin locales are welcome to help make the plugin more accessible. Please submit a pull request with your translations as a `.yml` file.\n\n- [Locales Directory](https://github.com/WiIIiam278/HuskChat/tree/master/common/src/main/resources/locales)\n- [English Locales](https://github.com/WiIIiam278/HuskChat/tree/master/common/src/main/resources/locales/en-gb.yml)\n\n## Links\n- [Docs](https://william278.net/docs/huskchat/) — Read the plugin documentation!\n- [Spigot](https://www.spigotmc.org/resources/huskchat.94496/) — View the Spigot resource page (Also: [Polymart](https://polymart.org/resource/huskchat.1217), [Modrinth](https://modrinth.com/plugin/huskchat))\n- [Issues](https://github.com/WiIIiam278/HuskChat/issues) — File a bug report or feature request\n- [Discord](https://discord.gg/tVYhJfyDWG) — Get help, ask questions\n- [bStats](https://bstats.org/plugin/bungeecord/HuskChat/11882) — View plugin metrics (Also: [Velocity](https://bstats.org/plugin/velocity/HuskChat%20-%20Velocity/14187))\n\n---\n© [William278](https://william278.net/), 2024. Licensed under the Apache-2.0 License.\n",[22,25,28],{"id":23,"url":24},"spigot","https://spigotmc.org/resources/huskchat.94496",{"id":26,"url":27},"polymart","https://polymart.org/resource/huskchat.1217",{"id":29,"url":30},"modrinth","https://modrinth.com/plugin/huskchat",[32],"William278",[23,34,35,36],"paper","waterfall","velocity",0,"",[40,58,83,106],{"order":37,"name":41,"children":42},"Setup",[43,47],{"order":37,"url":44,"title":41,"icon":45,"children":46},"setup","fa6-solid:book",[],{"order":48,"url":49,"title":50,"icon":51,"children":52},1,"config-files","Config","fa6-solid:file-code",[53],{"order":37,"url":54,"title":55,"icon":56,"children":57},"translations","Locales","material-symbols:translate",[],{"order":48,"name":59,"children":60},"Features",[61,66,71,77],{"order":37,"url":62,"title":63,"icon":64,"children":65},"commands","Commands","octicon:command-palette-16",[],{"order":48,"url":67,"title":68,"icon":69,"children":70},"join-and-quit-messages","Join & Quit Messages","mdi:greeting-outline",[],{"order":72,"url":73,"title":74,"icon":75,"children":76},2,"group-messages","Group Private Messages","ic:outline-email",[],{"order":78,"url":79,"title":80,"icon":81,"children":82},3,"social-and-local-spy","Social & Local Spy","tabler:spy",[],{"order":72,"name":84,"children":85},"Chat",[86,91,96,101],{"order":37,"url":87,"title":88,"icon":89,"children":90},"channels","Chat Channels","grommet-icons:channel",[],{"order":48,"url":92,"title":93,"icon":94,"children":95},"formatting","Formatting","mdi:paint-outline",[],{"order":72,"url":97,"title":98,"icon":99,"children":100},"filters-and-replacers","Filters & Replacers","lucide:filter",[],{"order":78,"url":102,"title":103,"icon":104,"children":105},"discord-hook","Discord Hook","material-symbols:webhook",[],{"order":78,"name":107,"children":108},"Developers",[109],{"order":37,"url":18,"title":110,"icon":111,"children":112},"Source Code","fa6-solid:code",[],20,{"SVG":115,"PNG":116,"PNG_TRANSPARENT":117,"SVG_TRANSPARENT":118},"huskchat.svg","huskchat.png","huskchat-transparent.png","huskchat-transparent.svg",[],[],{"downloadCount":122,"averageRating":123,"numberOfRatings":124,"interactions":125,"onlinePlayers":37,"onlineServers":37},27985,3.892307692307692,13,79,{"data":127,"body":128},{},{"type":129,"children":130},"root",[131,140,177,183,272,278],{"type":132,"tag":133,"props":134,"children":136},"element","h2",{"id":135},"guides",[137],{"type":138,"value":139},"text","Guides",{"type":132,"tag":141,"props":142,"children":143},"ul",{},[144,156,167],{"type":132,"tag":145,"props":146,"children":147},"li",{},[148,150],{"type":138,"value":149},"📚 ",{"type":132,"tag":151,"props":152,"children":154},"a",{"href":153},"/docs/huskchat/setup",[155],{"type":138,"value":41},{"type":132,"tag":145,"props":157,"children":158},{},[159,161],{"type":138,"value":160},"📝 ",{"type":132,"tag":151,"props":162,"children":164},{"href":163},"/docs/huskchat/config-files",[165],{"type":138,"value":166},"Config Files",{"type":132,"tag":145,"props":168,"children":169},{},[170,172],{"type":138,"value":171},"🖥️ ",{"type":132,"tag":151,"props":173,"children":175},{"href":174},"/docs/huskchat/commands",[176],{"type":138,"value":63},{"type":132,"tag":133,"props":178,"children":180},{"id":179},"documentation",[181],{"type":138,"value":182},"Documentation",{"type":132,"tag":141,"props":184,"children":185},{},[186,197,207,218,229,240,251,262],{"type":132,"tag":145,"props":187,"children":188},{},[189,191],{"type":138,"value":190},"📺 ",{"type":132,"tag":151,"props":192,"children":194},{"href":193},"/docs/huskchat/channels",[195],{"type":138,"value":196},"Channels",{"type":132,"tag":145,"props":198,"children":199},{},[200,202],{"type":138,"value":201},"✍️ ",{"type":132,"tag":151,"props":203,"children":205},{"href":204},"/docs/huskchat/formatting",[206],{"type":138,"value":93},{"type":132,"tag":145,"props":208,"children":209},{},[210,212],{"type":138,"value":211},"✉️ ",{"type":132,"tag":151,"props":213,"children":215},{"href":214},"/docs/huskchat/group-messages",[216],{"type":138,"value":217},"Group Messages",{"type":132,"tag":145,"props":219,"children":220},{},[221,223],{"type":138,"value":222},"🤫 ",{"type":132,"tag":151,"props":224,"children":226},{"href":225},"/docs/huskchat/filters-and-replacers",[227],{"type":138,"value":228},"Filters and Replacers",{"type":132,"tag":145,"props":230,"children":231},{},[232,234],{"type":138,"value":233},"🔎 ",{"type":132,"tag":151,"props":235,"children":237},{"href":236},"/docs/huskchat/social-and-local-spy",[238],{"type":138,"value":239},"Social and Local Spy",{"type":132,"tag":145,"props":241,"children":242},{},[243,245],{"type":138,"value":244},"⚙️ ",{"type":132,"tag":151,"props":246,"children":248},{"href":247},"/docs/huskchat/backend-chat-entry",[249],{"type":138,"value":250},"Backend Chat Entry",{"type":132,"tag":145,"props":252,"children":253},{},[254,256],{"type":138,"value":255},"📜 ",{"type":132,"tag":151,"props":257,"children":259},{"href":258},"/docs/huskchat/join-and-quit-messages",[260],{"type":138,"value":261},"Join and Quit Messages",{"type":132,"tag":145,"props":263,"children":264},{},[265,267],{"type":138,"value":266},"🔵 ",{"type":132,"tag":151,"props":268,"children":270},{"href":269},"/docs/huskchat/discord-hook",[271],{"type":138,"value":103},{"type":132,"tag":133,"props":273,"children":275},{"id":274},"links",[276],{"type":138,"value":277},"Links",{"type":132,"tag":141,"props":279,"children":280},{},[281,293,353],{"type":132,"tag":145,"props":282,"children":283},{},[284,286],{"type":138,"value":285},"💻 ",{"type":132,"tag":151,"props":287,"children":290},{"href":18,"rel":288},[289],"nofollow",[291],{"type":138,"value":292},"GitHub",{"type":132,"tag":145,"props":294,"children":295},{},[296,298,305],{"type":138,"value":297},"📂 ",{"type":132,"tag":151,"props":299,"children":302},{"href":300,"rel":301},"https://www.spigotmc.org/resources/huskchat.94496/",[289],[303],{"type":138,"value":304},"Downloads",{"type":132,"tag":141,"props":306,"children":307},{},[308,319,330,341],{"type":132,"tag":145,"props":309,"children":310},{},[311,313],{"type":138,"value":312},"🚰 ",{"type":132,"tag":151,"props":314,"children":316},{"href":300,"rel":315},[289],[317],{"type":138,"value":318},"Spigot",{"type":132,"tag":145,"props":320,"children":321},{},[322,324],{"type":138,"value":323},"🛒 ",{"type":132,"tag":151,"props":325,"children":327},{"href":27,"rel":326},[289],[328],{"type":138,"value":329},"Polymart",{"type":132,"tag":145,"props":331,"children":332},{},[333,335],{"type":138,"value":334},"🔧 ",{"type":132,"tag":151,"props":336,"children":338},{"href":30,"rel":337},[289],[339],{"type":138,"value":340},"Modrinth",{"type":132,"tag":145,"props":342,"children":343},{},[344,346],{"type":138,"value":345},"🛫 ",{"type":132,"tag":151,"props":347,"children":350},{"href":348,"rel":349},"https://hangar.papermc.io/William278/HuskChat",[289],[351],{"type":138,"value":352},"Hangar",{"type":132,"tag":145,"props":354,"children":355},{},[356,358],{"type":138,"value":357},"💬 ",{"type":132,"tag":151,"props":359,"children":362},{"href":360,"rel":361},"https://discord.gg/tVYhJfyDWG",[289],[363],{"type":138,"value":364},"Discord Support",["Reactive",366],{"$snuxt-i18n-meta":367,"$sauth":-1,"$sxsrf":-1},{},["Set"],["ShallowReactive",370],{"$fD1VhuLPQfSq5Kjb6MOPBDmeZZVXLASbuQ_sxsenhdug":-1,"user":371,"mdc--te49qo-key":-1},["NuxtError",372],{"message":373,"statusCode":374,"statusMessage":375,"data":376},"[GET] \"https://api.william278.net/v1/users/@me\": 401 Unauthorized",401,"Unauthorized",{"error":377},"You must be logged in to perform this action.","/docs/huskchat/_sidebar"]