Skip to content
A Discord bot that provides ctf tools for collaboration in Discord servers!
Branch: master
Clone or download
NullPxl Added global error handling and some more specific ones. Also added s…
…horthand for many commands for example >ctf chal a 'challenge' now is the same as >ctf challenge add 'challenge'. Added some colourized output with colorama.
Latest commit 622aed8 May 21, 2019
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
cogs Added global error handling and some more specific ones. Also added s… May 21, 2019
.gitignore all ctftime api commands now use MongoDB instead of being stored in a… Nov 3, 2018
README.md
help_info.py Added global error handling and some more specific ones. Also added s… May 21, 2019
magic.json so many errors I just gave up and created a new repo :D Aug 14, 2018
nullctf.py Added global error handling and some more specific ones. Also added s… May 21, 2019

README.md

A discord.py bot focused on providing CTF tools for collaboration in Discord servers (ctftime.org commands, team setup, utilites, etc)! If you have a feature request, make it a GitHub issue or use the >request "x" command.

Invite to your server
Join the support server

How to Use

This bot has commands for encoding/decoding, ciphers, and other commonly accessed tools during CTFs. But, the main use for NullCTF is to easily set up a CTF for your discord server to play as a team. The following commands listed are probably going to be used the most.

  • >ctf create "ctf name" This is the command you'll use when you want to begin a new CTF. This command will make a text channel with your supplied name under the category 'CTF' (If the category doesn't exist it will be created). Must have permissions to manage channels

NOTE: the following ctf specific commands will only be accepted under the channel created for that ctf. This is to avoid clashes with multiple ctfs going on in the same server.

  • >ctf join/leave Using this command will either give or remove the role of a created ctf to/from you. enter image description here

  • >ctf challenge add/working/solved "challenge name" Allows users to add challenges to a list, and then set the status of that challenge. Use quotations

  • >ctf challenge list This is the list command that was previously mentioned, it displays the added challenges, who's working on what, and if a challenge is solved (and by who). enter image description here

  • >ctf end Delete the ctf info from the db, and remove the role from your server. Must have permissions to manage channels


The following commands use the api from ctftime

  • >ctftime countdown/timeleft Countdown will return when a selected CTF starts, and timeleft will return when any currently running CTFs end in the form of days hours minutes and seconds. enter image description here
    enter image description here

  • >ctftime upcoming <number> Uses the api mentioned to return an embed up to 5 upcoming CTFs. If no number is provided the default is 3. enter image description here

  • >ctftime current Displays any currently running CTFs in the same embed as previously mentioned. enter image description here

  • >ctftime top <year> Shows the ctftime leaderboards from a certain year (dates back to 2011). enter image description here


Utility commands

  • >magicb filetype Returns the mime and magicbytes of your supplied filetype. Useful for stegonography challenges where a filetype is corrupt.

  • >rot "a message" <right/left> Returns all 25 possible rotations for a message with an optional direction (defaults to left).

  • >b64 encode/decode "message" Encode or decode in base64 (at the time of writing this, if there are any unprintable characters this command will not work, this goes for all encoding/decoding commands).

  • >binary encode/decode "message" Encode or decode in binary.

  • >hex encode/decode "message" Encode or decode in hex.

  • >url encode/decode "message" Encode or decode with url parse. This could be used for generating XSS payloads.

  • >reverse "message" Reverse a message.

  • >counteach "message" Count the occurrences of each character in the supplied message.

  • >characters "message" Count the amount of characters in your message.

  • >wordcount a test Counts the amount of words in your message (don't use quotations).

  • >htb Return when the next hackthebox machine is going live from @hackthebox_eu on twitter.

  • >cointoss Get a 50/50 cointoss to make all your life's decisions.

  • >request/report "a feature"/"a bug" Dm's the creator with your feature/bug request/report.

  • >help pagenumber Returns the help page of your supplied number (currently there are 2 pages)

Have a feature request? Make a GitHub issue or use the >request command.

You can’t perform that action at this time.