You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在discord.py中开发查看机器人uptime运行时长的命令?

机器人运行时长(uptime)命令实现方案

核心实现逻辑

  • 启动机器人时记录当前时间戳,存入全局变量/本地文件/数据库,避免进程重启后时长重置
  • 调用uptime查询命令时,用当前时间戳减去启动时间戳,得到累计运行的总秒数
  • 将总秒数换算为小时、分钟、秒三个单位:
    1. 小时数 = 总秒数 // 3600
    2. 剩余秒数 = 总秒数 % 3600
    3. 分钟数 = 剩余秒数 // 60
    4. 最终秒数 = 剩余秒数 % 60
  • 按要求格式化输出字符串即可

代码示例(Python)

import time

# 机器人启动时执行一次,记录启动时间
BOOT_TIMESTAMP = time.time()

def get_robot_uptime():
    total_run_seconds = int(time.time() - BOOT_TIMESTAMP)
    hours = total_run_seconds // 3600
    left_seconds = total_run_seconds % 3600
    mins = left_seconds // 60
    secs = left_seconds % 60
    # 中文输出格式
    return f"在线时长:{hours}小时{mins}分{secs}秒"
    # 如需英文格式,替换为下面的返回语句
    # return f"Online Time: {hours}h {mins}m {secs}s"

# 调用示例
if __name__ == "__main__":
    print(get_robot_uptime())

输出效果

中文输出示例:
在线时长:1小时10分15秒
英文输出示例:
Online Time: 1h 10m 15s

注意事项

  • 若机器人支持热重启,建议将启动时间持久化存储到本地文件或数据库,启动时优先读取已存储的启动时间,避免时长统计中断
  • 跨时区部署时统一使用UTC时间戳计算,避免时区差异导致时长计算错误

内容的提问来源于stack exchange,提问作者user15016878

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.13 06:36:03