Giter Site home page Giter Site logo

ytalexvid / hypixel-skyblock-assistant Goto Github PK

View Code? Open in Web Editor NEW

This project forked from senither/hypixel-skyblock-assistant

0.0 0.0 0.0 1.2 MB

A Discord bot built for the Hypixel network, allowing Discord servers to sync their guild ranks with server ranks, get stats and leaderboard information from the Skyblock gamemode.

License: GNU General Public License v3.0

JavaScript 2.78% HTML 1.96% Vue 92.91% SCSS 2.35%

hypixel-skyblock-assistant's Introduction

Hypixel Skyblock Assistant

Hypixel Skyblock Assistant is a Discord bot created for the Hypixel Network, primarily the custom Skyblock gamemode they have created, the bots main focuses is to help guilds on Hypixel manage their Discord server by automatically synchronizing guild ranks, allowing users to verify themselves through the bot, and get stats about themselves or other people for the Skyblock gamemode.

Features

  • Verification system to verify their IGNs.
  • Hypixel rank assignment(Auto giving MVP++, VIP, etc)
  • Commands to track and see stats for skills, slayers, bank, auction house, talismans, & pets.
  • Guild and Player leaderboards(Includes individual leaderboards for skills and slayer types).
  • Calculators for skills and pet experience.
  • Guild linking with the bot, which provides features like:
    • Guild XP Leaderbords.
    • Automatic guild role assignments.
    • Automatic renaming users to their IGNs.
    • Defining guild rank requirements through the bot.
    • Checking what rank a user should have based on the requirements that have been setup.
    • Scanning the entire guild to calculate guild averages, and to see who meets what rank requirements.
    • Donation & Splash trackers to see who contribute the most to the guild.
    • Broadcasting system to announce messages through the bot.
    • Settings command to configure and customize all the features above.

Note: If you're not looking for a Discord bot but still want a weight calculator you can checkout LappySheep/hypixel-skyblock-weight for a different take on the weight calculation.


Table of Content

Prerequisites

App (Bot)
  • Java >= 8
  • Gradle >= 4
  • MySQL/MariaDB Server
  • Git

Web UI

  • NodeJS >= 11
  • Yarn >= 1.15
  • Git

Installing Hypixel Skyblock Assistant

To get started, clone down the repository using:

git clone https://github.com/Senither/Hypixel-Skyblock-Assistant.git

Next go into the Hypixel-Skyblock-Assistant/app folder to build the project using Gradle.

./gradlew build

If the build ran successfully there should now be a jar file called HypixelSkyblockAssistant.jar inside the app directory of the project, this will be used to run the actual bot, you can now run the bot once to generate the config.json file.

java -jar HypixelSkyblockAssistant.jar

After you're finished editing the config with your personal details, run the bot again, if it starts up without any errors it should now work, and you can invite it to Discord servers.

Installing Guild Report Web UI

To get started, clone down the repository using:

git clone https://github.com/Senither/Hypixel-Skyblock-Assistant.git

Next go into the Hypixel-Skyblock-Assistant/web folder and install all the dependencies using Yarn.

yarn

While the dependencies are being installed go to the config file to setup the app URL, the config can be found at web/assets/js/config.js , once that's done and the installation have finished, you can now build the project.

yarn prod

Running the app with prod will build all the assets for a production environment, you can also use dev for a development environment, or watch for setting up a watcher that will re-build the project anytime it sees changes being made to the files.

Using a custom Guild Leaderboard

The guild and player leaderboards are created by the Hypixel Skyblock Leaderboard project, which provides an API for the bot to pull the leaderboard data from, and a way to create and manage the leaderboards while not really affecting the bot itself.

If you're interested in creating your own leaderboards instead of using the public leaderboard API, you can follow the instructions on the Hypixel Skyblock Leaderboard repository to setup the API with a custom list of guilds to track.

Configuration

Discord Token

The Discord token is used to login into Discords web services, allowing the bot to go online and respond to commands. If you don't already have a Discord bot application setup you can easily create one by going to https://discordapp.com/developers/applications/me, create a new application, give it some name, then click on "Create a Bot User", and you're good to go!

Hypixel Token

The Hypixel token is used to communicate with Hypixels API, allowing to bot to get player, profile, and guild information for the Skyblock gamemode. If you don't already have a Hypixel API token you can get one by logging into the server using mc.hypixel.net and running /api .

Leaderboard URI

The leaderboard URI is the URI that the leaderboard tracker is hosted at, when a custom URI is provided the bot will instead use that API for all guild and player leaderboards, however if the value is left at null , the bot will default back to using the public leaderboard API.

Database

The database properties are used to connect to the database that the bot should use, the database is required for the bot to function correctly since UUIDs, guild, player, and profile data is cached for long periods of time in the database, as-well as verification so the bot remembers which Discord account is linked with what Minecraft username.

Note The MySQL user must be able to create, delete, and modify tables for the database that is used, since the bot uses a migration system to automatically roll out database changes between updates.

Servlet

The web servlet sets up a JSON API that runs within the bot itself, the API is used by the web portion of the bot, allowing people to view guild scan reports in an easy to read and understand way. The app_url property is the link to where the web UI is hosted, so linked for guild scan reports can be generated correctly.

Note: Make sure the port the web servlet is running on is open and accessible by the web UI.

Third Party Licenses

Hypixel Skyblock Assistant relies on the following projects:

Name License
Hypixel API MIT
OpenNBT MIT
Vue MIT
Laravel Mix MIT
Moment MIT
Axios MIT
Bulma MIT
Bulmaswatch MIT
JDA (Java Discord API) Apache License 2.0
google-gson Apache License 2.0
Guava Apache License 2.0
Spark Apache License 2.0
logback-classic Eclipse Public License v1.0 and
GNU Lesser General Public License version 2.1
MySQL Connector GNU General Public License Version 2

The project uses code from avaire/avaire, primarily the chat functionality built for JDA, making messaging easier.

License

Hypixel Skyblock Assistant is open-sourced software licensed under the GNU General Public License v3.0.

hypixel-skyblock-assistant's People

Contributors

senither avatar dependabot[bot] avatar ytalexvid avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.