You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Jessica James 6578fef47f Fix rom_string<long> methods for platforms where sizeof(long) > sizeof(int) 2 years ago
build Some cleanup 6 years ago
src Fix rom_string<long> methods for platforms where sizeof(long) > sizeof(int) 2 years ago
.gitattributes Initial Commit 10 years ago
.gitignore Added `cmake_vs17.bat` for convenience 6 years ago
.gitmodules Move jessilib submodule to jupiter lib 3 years ago
CMakeLists.txt Remove tokenize() and adjust code as necessary; various cleanup 3 years ago Update 9 years ago
LICENSE Mass-update copyright headers based on files touched this year 2 years ago Remove all Jupiter string types & aliases; left some string utilities in Readable_String.h for legacy usage 3 years ago


Primarily developed in C++, Jupiter is an open-source multi-purpose library initially intended for the purpose of creating IRC bots, but is by no means restricted to IRC bots. Jupiter has been used to expedite the production of numerous projects ranging from ZIP code verifiers, to game administration systems, to game leaderboards and web APIs.


Jupiter includes a Socket wrapper, allowing for simple interaction with sockets, while eliminating all of the platform-dependant code. Jupiter sockets are also IP agnostic, allowing for compatibility with IPv4, IPv6, and whatever the future may hold.

Secure Sockets

Jupiter also supports SSL/TLS, using the OpenSSL library, which is the only external code Jupiter depends on. The SecureSocket implementation simplifies usage of SSL, and easily allows for non-SSL sockets to switch to SSL after initialization using C++11 move constructor.


Jupiter supports dynamic plugins, allowing for event-driven programming, without modifying the library. Plugins can easily be loaded and unloaded as a user desires. All plugins are rehashable, allowing for settings to be reloaded without a doing a full unload-load sequence. Plugins can do as little as adding a console command, or as much as adding support for a protocol or creating a game administration system.


  • think()
  • OnRehash()
  • OnBadRehash()
  • shouldRemove()
  • OnConnect()
  • OnDisconnect()
  • OnReconnectAttempt()
  • OnRaw()
  • OnNumeric()
  • OnError()
  • OnChat()
  • OnNotice()
  • OnServerNotice()
  • OnCTCP()
  • OnAction()
  • OnInvite()
  • OnJoin()
  • OnPart()
  • OnNick()
  • OnKick()
  • OnQuit()
  • OnMode()
  • OnThink()

Pure Virtual Functions:

  • getName() - Returns the name of the plugin.