This is a Discord bot that integrates with the Hypixel SkyBlock API to provide a personalised leaderboard with optional automated updates
-
Download Node.js from nodejs.org
-
Download this repository
-
Add an aplication on discord.com/developers/applications
-
Add a bot to the application and copy the token
-
Create the
./data/token
file and paste the token into it ( make sure it does not have an extension ) -
Navigate to the folder in a terminal
-
Run
npm i
thennpx tsc
-
Run
./run.sh
on Linux or.\run.bat
on Windows -
On the OAuth2 page, select the 'bot' scope then the administrator permissions then copy the generated url and paste it into your browser
-
Use that page to add the bot to your server ( the bot must be running when you add it )
-
Use the
sb!set_api_key < Hypixel API key >
command to set the API key to your API key ( which can be generated in-game with the/api
command ) -
Add an item to track using
sb!add_item < item name >
( a list of items can be sent usingsb!list_items
) -
If you want, add a skill to track using
sb!add_skill < skill name >
( a list of skills can be sent usingsb!list_skills
) -
Add a player to track using
sb!add_player < Minecraft username >
-
View the leaderboard using
sb!leaderboard
A list of avaliable commands and their uses can be found with sb!help [ command name ]
You can also use this to find their aliases, for example sb!leaderboard
can be shortened to sb!lb
If you cannot find what you need, you can open a 'Question' issue here
If you wish to modify the bot, I recommend using TypeScript but JavaScript can be used.
Create your command in a new file in ./commands
( or a custom directory like ./customCommands
) in the style of the other commands.
Their export options and types are all listed in types.d.ts
under the ICommand
interface
The bot uses Discord.js, which is easy to use and very well documented
If you find any bugs, open a 'Bug report' issue here and I will try to get around to fixing them
- Switch to Mojang POST API
- API rate checks
- Pet tracking
- Online status
If you want to request a feature, please open a 'Feature request' issue here