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

如何让Discord机器人的状态显示当前时间?

问题根因

你传入discord.Game的参数是未执行的datetime.datetime.utcnow方法本身,而非方法执行后返回的UTC时间对象,所以状态会显示方法的类型信息而非实际时间。同时要注意,discord.Game接收的是字符串类型参数,需要把时间对象转为字符串格式才能正常显示。

修复代码

直接在utcnow后加括号执行方法,同时用str()转为字符串即可:

await client.change_presence(status=discord.Status.online, activity=discord.Game(str(datetime.datetime.utcnow())))

可选:自定义时间格式

如果需要调整时间显示格式,可以用strftime方法自定义输出规则,示例如下(显示为年-月-日 时:分:秒格式):

utc_time = datetime.datetime.utcnow().strftime("%Y-%m-%d %H:%M:%S")
await client.change_presence(status=discord.Status.online, activity=discord.Game(utc_time))

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.07 12:54:00