diff options
| author | ilotterytea <iltsu@alright.party> | 2025-07-05 12:34:11 +0500 |
|---|---|---|
| committer | ilotterytea <iltsu@alright.party> | 2025-07-05 12:34:11 +0500 |
| commit | 11ca4bf50b7b14b8be54756cb2a7f37ef31890a8 (patch) | |
| tree | 63d2a6e629499db49c2cf718a962ee3bdf589c63 /bot/src | |
| parent | db23d7a064db7f5a5c9a5306880e48c709b7d68b (diff) | |
feat: get bot temperature
Diffstat (limited to 'bot/src')
| -rw-r--r-- | bot/src/commands/lua.cpp | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/bot/src/commands/lua.cpp b/bot/src/commands/lua.cpp index a35e605..0c02bf5 100644 --- a/bot/src/commands/lua.cpp +++ b/bot/src/commands/lua.cpp @@ -8,6 +8,8 @@ #include <chrono> #include <cmath> #include <ctime> +#include <filesystem> +#include <fstream> #include <iomanip> #include <memory> #include <nlohmann/json.hpp> @@ -64,6 +66,29 @@ namespace bot::command::lua { return usage.ru_maxrss; }); + state->set_function("bot_get_temperature", []() { + float temp = 0.0; + + std::string path = "/sys/class/thermal/thermal_zone0/temp"; + + if (!std::filesystem::exists(path)) { + return temp; + } + + std::ifstream ifs; + ifs.open(path); + + std::stringstream buffer; + buffer << ifs.rdbuf(); + ifs.close(); + + temp = std::stof(buffer.str()); + temp /= 1000; + temp = std::roundf(temp * 100) / 100; + + return temp; + }); + state->set_function("bot_get_compile_time", []() { return BOT_COMPILED_TIMESTAMP; }); |
