Repository files navigation A Telegram bot, mostly used by my own uses and learning purposes
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 (cpp-httplib) - Used for website server support - Link CppTrace - C++ Backtrace Library - Link cryptopp - Used for hashing and encryption - Link CURL - Used for HTTP requests - Link dlfcn Win32 support - Used for runtime loader for commands (Windows only) - Link fmt - Format library (header-only mode) - Link Fruit - C++ Dependency Injection Framework - Link gRPC - C++ gRPC implementation for remote services - Link GTest - Test framework for C++ codes - Link libxml2 - Used for XML parsing in StringResLoader - Link llama.cpp - Used for local LLM support - Link Lua - Lua language integration (for command modules) - Link nlohmann_json - Used for JSON parsing and serialization - Link OpenCV - Used for image/video processing - Link Protobuf - Used for alternative database backend and gRPC - Link Sol2 - C++ and Lua integration - Link SQLite3 - Used for one database backend, for whitelist/blacklist saving support stduuid - Used for generating UUIDs - Link TgBot-cpp - Core library for being a Telegram bot - Link Image Processing Libraries libpng - PNG image format support libjpeg-turbo - JPEG image format support libwebp - WebP image format support Build Tools & Integration Corrosion - Rust and CMake integration - Link Git - Used for build information generation (commit ID, message, origin) Rust - Used for some command modules and the builder-rs gRPC server - 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 CMake options has a common prefix of 'TGBOTCPP_' TGBOTCPP_BUILD_TESTS: Build the test suite (default: OFF) 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_CROSS_COMPILING: Whether we are cross-compiling, can be auto detected or be manually set TGBOTCPP_AUTODETECT_CROSS_COMPILING: Auto detect TGBOTCPP_CROSS_COMPILING via CMAKE_HOST_CMAKE_SYSTEM_PROCESSOR and CMAKE_SYSTEM_PROCESSOR TGBOTCPP_CROSS_COMPILE_INSTALL_PATH: Path that the package is installed to (i.e. CMAKE_INSTALL_PREFIX). Default: /usr/bin (assuming debian systems) TGBOTCPP_CROSS_COMPILE_CC: C Compiler that is present on remote system, can be omitted - then the following backend is disabled. TGBOTCPP_CROSS_COMPILE_CXX: C++ Compiler that is present on remote system, can be omitted - then the following backend is disabled. TGBOTCPP_CROSS_COMPILE_PYTHON: Python interpreter that is present on remote system, can be omitted - then the following backend is disabled. Token: Telegram bot token LogFile: Log file path GitHubToken: GitHub token (Used for private repo access) OptionalComponents: Enable optional components. Comma-separated list of components to enable. Supported components: "webserver", "datacollector" BuildBuddyApiKey: BuildBuddy API key for Android RBE FilePath: Database file path Type: Database type (sqlite or protobuf) BackendType: LLM backend type (local, localnet) ModelLocation: LLM location (file path or network address) AuthKey: LLM authentication key (if required) PrimarySocketUrl: Primary socket URL that is binded to. e.g. 192.168.0.X:239 or unix://path/to/file SecondarySocketUrl: Secondary socket URL LoggingSocketUrl: Logging socket URL ApiServer: Custom Telegram API server URL ApiServerFilePathRemovePrefix: Prefix to remove from Telegram #getFile file paths when using a custom API server ApiServerFilePathAppendPrefix: Prefix to append to Telegram #getFile file paths when using a custom API server BuilderRSServer: Builder-RS gRPC server address
You can’t perform that action at this time.