如何在Discord.py中为Discord管理员bot生成正常运行时间命令

如何在Discord.py中为Discord管理员bot生成正常运行时间命令,discord,discord.py,Discord,Discord.py,所以。。。为了给你一点背景,我需要告诉你我做了什么。我已经创建了一个discord bot for moderation(mellobot.net),我需要一个命令帮助。我想为实际的bot本身设置一个-uptime命令,以DD HH MM显示时间,但不知道命令行是什么样子。(我想要像NightBots!twitch用户用于twitch streams的正常运行时间这样的东西)有没有任何discord.py nerd可以帮助我解决这个困境?我不确定,但也许你可以使用datetime模块。当机器人准

所以。。。为了给你一点背景,我需要告诉你我做了什么。我已经创建了一个discord bot for moderation(mellobot.net),我需要一个命令帮助。我想为实际的bot本身设置一个-uptime命令,以DD HH MM显示时间,但不知道命令行是什么样子。(我想要像NightBots!twitch用户用于twitch streams的正常运行时间这样的东西)有没有任何discord.py nerd可以帮助我解决这个困境?

我不确定,但也许你可以使用
datetime
模块。当机器人准备就绪时,您可以记录日期,并创建一个
!正常运行时间
命令如下:

@client.event
_ready()上的异步定义:
全球起始日期
startdate=datetime.now()
@client.command()
异步def正常运行时间(ctx):
now=datetime.now()
正常运行时间=开始日期-现在
uptime=uptime.strftime(“%d/%h/%M”)#我记不清日期了,可能是小写是假的。
等待ctx.send(f'Uptime:{Uptime})

存储程序启动的时间,然后计算一下。在bot正常运行期间,
on_ready()
事件可以并且将多次触发,如果您在bot中打印消息以外的任何操作,则通常会发生不好的事情

从日期时间导入日期时间
bot=commands.bot(命令前缀='>')
bot.launch_time=datetime.utcnow()
@bot.command()
异步def正常运行时间(ctx):
delta_uptime=datetime.utcnow()-bot.launch_time
小时,余数=divmod(int(delta运行时间.total_seconds()),3600)
分,秒=divmod(余数,60)
天,小时=divmod(小时,24)
等待ctx.send(f“{days}d,{hours}h,{minutes}m”)

这是用于discord.py重新写入的最新workign命令

@commands.command()
异步def正常运行时间(自身、ctx):
delta_uptime=datetime.datetime.utcnow()-self.bot.launch_time
小时,余数=divmod(int(delta运行时间.total_seconds()),3600)
分,秒=divmod(余数,60)
天,小时=divmod(小时,24)
e=discord.Embed(title=f“我已经起床了{days}d、{hours}h、{minutes}m、{seconds}s,”,color=discord.color.green()
等待ctx.send(嵌入=e)```