/HackTheBot

A Discord Bot in Python for Hack The Box members.

Primary LanguagePythonMozilla Public License 2.0MPL-2.0

HackTheBot

⚠️ You shouldn't use this bot anymore. The code is old and dirty, HTB changed their interface (even the old with small details) so the scraping don't work anymore, and they released a working API, which you should rely on. So I'll archive this repo. ⚠️

You can see the progress here : https://trello.com/b/Y8Ah3ZPY/hackthebot

The bot is almost ready to be used! In the meantime, here are some features it can already do:

Commands :

  • Synchronize your Hack The Box account with the Discord server
  • Retrieve information about a box (with the matrix)
  • Retrieve information about a Hack The Box member
  • Search for items among Ippsec videos
  • Retrieve information on the last box released
  • View the leaderboard of Discord server members
  • List active boxes
  • Display the usage of each command
  • Download official writeups, or search writeups submitted by users
  • Create channels for boxs you're working on

In the shoutbox, display :

  • The pwn user / root of the boxes and challenges.
  • If a member gets a VIP pass
  • How long before the new box arrives
  • When the box arrived
  • When a new server member synchronizes his HTB account

Other :

  • Unlike Hack The Box's Discord server bot, this bot automatically updates your rank.
  • It automatically moves the channel from a removed box to the "box-retired" category.

Here are some screens (in french) to tease the bot :

>help :

>help

>verify :

>verify

>get_box :

>get_box

>last_box :

>last_box

>get_user :

>get_user

>me :

>me

>ippsec :

>ippsec

>leaderboard :

>leaderboard

>man :

>man

>writeup :

>writeup >writeup -links

>list_boxs :

>list_boxs

>work_on :

>work_on >work_on 2

And a few other details that happen automatically

When a box is retired :

When a new user sync his HTB account :

When a member pwn user / root of a box :

When a member succeeds a challenge :

When a new box comes and gets released :

When a member gets VIP :

Async update !

I redid the user scraping asynchronously, and for 10 users, it went from 47 to 5 seconds !

Performance tests in synchronous :

And in asynchronous :

If you have question or just want to contact me on Discord : mxrch#8507