- C++ 91.3%
- CMake 8.7%
| external | ||
| profiledata | ||
| src | ||
| .clangd | ||
| .gitignore | ||
| .gitmodules | ||
| CMakeLists.txt | ||
| config.example.json | ||
| config.schema.json | ||
| README.md | ||
Robert Kyle
Build Instructions
Clone the repository (including submodules with --recursive).
Ensure you have a C++ compiler like gcc or clang installed.
Ensure that you have a recent build of cmake installed.
Run:
cmake -S . -B build
This will create the build files. To specify using clang over gcc, first run:
export CXX=clang++
export CC=clang
To use a build system like ninja over makefiles, add -G Ninja to the end of the cmake command.
Then run make -j$(nproc) in the created build directory (or ninja -j $(nproc) if you specified Ninja).
The bot will be the rkylebot executable.
To authenticate the bot, copy the config.example.json file to config.json, then place the bot token in the token property and the sqlite file location in databasePath (for example ./bot.db). Finally ensure the config.json file is in the directory where the rkylebot command gets executed (not the directory where the binary is found).
For archlinux, ensure that you have extra/nlohmann-json installed as it is a nessecary library for the bot.
Text command system
Commands are message-based (e.g. !tsukihime) and are registered through src/commands/register_commands.cpp.
Each command lives in its own src/commands/*_command.cpp file.
Commands register with a display name plus aliases (triggers), so help systems can
list one name per command while still supporting multiple trigger words.