Eelbot Framework is a discord bot framework that is designed for writing extensible bots.
Eelbot Framework requires C++ 17 and CMake 3.15 or higher to build. It also requires openssl
.
Eelbot Framework can be embedded directly into an existing CMake project by using either add_subdirectory
or FetchContent
.
Note: Eelbot Framework embeds the following libraries using add_subdirectory
:
- cpr
- fmt
- nlohmann/json
- Catch2 (For tests only)
If you would like to embed any of these libraries in your top level project that also embeds Eelbot Framework, you will need to embed that library before embedding Eelbot Framework to avoid any duplicate target errors (since Eelbot Framework checks if these have been embedded before trying to embed them).
Note: Eelbot Framework also embeds zlib using add_subdirectory
. However, due to limitations with its CMakeLists.txt (see here and here), if you would like to use the zlib
or zlibstatic
targets in your top level project that also embeds Eelbot Framework, you will need to embed Eelbot Framework and just use the zlib
or zlibstatic
target (Eelbot Framework will make these targets available to use). The include paths for these targets will be defined in the CMake variable EF_ZLIB_INCLUDE_DIRS
.
Note: Eelbot Framework also embeds the following header only libraries without using add_subdirectory
:
You should be able to embed these in your top level project that also embeds Eelbot Framework in any order without any problems.
Coming soon...
If you would like to run the tests for Eelbot Framework, while building with CMake, pass in -DEELBOT_FRAMEWORK_TESTS=True
. Once build, run the eelbot_framework_test
executable.
Note: The tests must be run from the root of the project directory since the paths for certain files they require are relative to it.