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 eaff7f0548 Remove Jupiter string formatting functions 3 years ago
build Some cleanup 6 years ago
src Remove Jupiter string formatting functions 3 years ago
.gitattributes Initial Commit 11 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
CONTRIBUTING.md Update CONTRIBUTING.md 9 years ago
LICENSE Update LICENSE 9 years ago
README.md Update README.md a little 3 years ago

README.md

Jupiter

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.

Strings

Jupiter contains a number of deprecated string classes, which are deprecated in favor of std::string_view and std::string. These will be removed in the future, with any useful string utilities being replaced by equivalents in jessilib.

Sockets

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.

Plugins

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.

Events:

  • 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.