file2 / bot /utils /time_format.py
nothere990's picture
big update
426ff68
import time
import psutil
import platform
import datetime
from bot import StartTime
def get_readable_time(seconds: int) -> str:
count = 0
readable_time = ""
time_list = []
time_suffix_list = ["s", "m", "h", " days"]
while count < 4:
count += 1
if count < 3:
remainder, result = divmod(seconds, 60)
else:
remainder, result = divmod(seconds, 24)
if seconds == 0 and remainder == 0:
break
time_list.append(int(result))
seconds = int(remainder)
for x in range(len(time_list)):
time_list[x] = str(time_list[x]) + time_suffix_list[x]
if len(time_list) == 4:
readable_time += time_list.pop() + ", "
time_list.reverse()
readable_time += ": ".join(time_list)
return readable_time
def get_system_info():
# Basic OS info
os_info = f"{platform.system()} {platform.release()}"
kernel = platform.version()
cpu = platform.processor() or "N/A"
# Memory info (in GB)
mem = psutil.virtual_memory()
total_memory = mem.total / (1024 ** 3)
# Uptime (you could also use psutil.boot_time() if preferred)
uptime_seconds = time.time() - StartTime
uptime_str = str(datetime.timedelta(seconds=int(uptime_seconds)))
# Load average (Unix only; for Windows, consider alternatives)
try:
load = psutil.getloadavg()
load_str = f"{load[0]:.2f}, {load[1]:.2f}, {load[2]:.2f}"
except AttributeError:
load_str = "N/A"
return {
"os": os_info,
"kernel": kernel,
"cpu": cpu,
"memory": f"{total_memory:.2f} GB",
"uptime": uptime_str,
"load": load_str
}