| C | C++ | Kotlin | Javascript | SQLite3 | HTML5 | CSS | SCSS | PHP |
|---|---|---|---|---|---|---|---|---|
| popen_wdt lib | main C++ code | Android socket client app | Webpage | Database support | Webpage | Webpage | Webpage | Webpage |
- Abseil C++ common library - Used for logging - Link
- C++ HTTP library - Used for website server support - Link
- dlfcn Win32 support - Used for runtime loader for commands - Link
- GTest - Test framework for C++ codes - Link
- Git library 2 - Used for retrieving git root, etc - Link
- SQLite3 - Used for one database backend, for whitelist, blacklist saving support
- Protobuf - Used for another database backend - Link
- TgBot-cpp - Core library for being a Telegram bot - Link
- CppTrace - C++ Backtrace Library - Link
- Sol2 - C++ and Lua integration - Link
- There is no goal - I will just add stuff whichever I could and learn those while writing code for it
- See TODO file, though its not really updated
- TGBOTCPP_BUILD_TESTS: Build the test suite (default: ON)
- TGBOTCPP_RUST_MODULES: Enable and build command modules written with Rust language (default: OFF)
- TGBOTCPP_LUA_MODULES: Enable support for command module written with Lua language (default: ON)
- TGBOTCPP_LLM_SUPPORT: Enable support for LLM framework (Requires compatible hardware, e.g. NVIDIA GPU) (default: OFF)
- TGBOTCPP_SOCKET_PACKET_VERBOSE: Enable verbose hex-view level logging for socket packets (default: OFF)
- TOKEN: Telegram bot token
- LOG_FILE: Log file path
- DATABASE_CFG: Database configuration. Format: "type:filename", where type is one of "sqlite" or "protobuf", and filename is the database file path.
- SOCKET_CFG: Export network-socket based API configuration. Choose between "ipv4", "ipv6". Omitting this option disables the socket API.
- GITHUB_TOKEN: Github token (Used for private repo access).
- OPTIONAL_COMPONENTS: Enable optional components. Comma-separated list of components to enable. Supported components: "webserver", "datacollector".
- BUILDBUDDY_API_KEY: BuildBuddy API key for Android RBE.