mirror of
https://github.com/Cog-Creators/Red-DiscordBot.git
synced 2025-11-06 03:08:55 -05:00
[Core] Improved [p]uptime
This commit is contained in:
parent
0d6bc2caf7
commit
74fd56e81f
@ -731,10 +731,10 @@ class Owner:
|
||||
@commands.command()
|
||||
async def uptime(self):
|
||||
"""Shows Red's uptime"""
|
||||
now = datetime.datetime.now()
|
||||
uptime = (now - self.bot.uptime).seconds
|
||||
uptime = datetime.timedelta(seconds=uptime)
|
||||
await self.bot.say("`Uptime: {}`".format(uptime))
|
||||
since = self.bot.uptime.strftime("%Y-%m-%d %H:%M:%S")
|
||||
passed = self.get_bot_uptime()
|
||||
await self.bot.say("Been up for: **{}** (since {} UTC)"
|
||||
"".format(passed, since))
|
||||
|
||||
@commands.command()
|
||||
async def version(self):
|
||||
@ -823,6 +823,27 @@ class Owner:
|
||||
|
||||
return embed
|
||||
|
||||
def get_bot_uptime(self, *, brief=False):
|
||||
# Courtesy of Danny
|
||||
now = datetime.datetime.utcnow()
|
||||
delta = now - self.bot.uptime
|
||||
hours, remainder = divmod(int(delta.total_seconds()), 3600)
|
||||
minutes, seconds = divmod(remainder, 60)
|
||||
days, hours = divmod(hours, 24)
|
||||
|
||||
if not brief:
|
||||
if days:
|
||||
fmt = '{d} days, {h} hours, {m} minutes, and {s} seconds'
|
||||
else:
|
||||
fmt = '{h} hours, {m} minutes, and {s} seconds'
|
||||
else:
|
||||
fmt = '{h}h {m}m {s}s'
|
||||
if days:
|
||||
fmt = '{d}d ' + fmt
|
||||
|
||||
return fmt.format(d=days, h=hours, m=minutes, s=seconds)
|
||||
|
||||
|
||||
def check_files():
|
||||
if not os.path.isfile("data/red/disabled_commands.json"):
|
||||
print("Creating empty disabled_commands.json...")
|
||||
|
||||
6
red.py
6
red.py
@ -60,7 +60,7 @@ class Bot(commands.Bot):
|
||||
return bot.settings.get_prefixes(message.server)
|
||||
|
||||
self.counter = Counter()
|
||||
self.uptime = datetime.datetime.now() # Will be refreshed before login
|
||||
self.uptime = datetime.datetime.utcnow() # Refreshed before login
|
||||
self._message_modifiers = []
|
||||
self.settings = Settings()
|
||||
self._intro_displayed = False
|
||||
@ -209,7 +209,7 @@ async def on_ready():
|
||||
servers = len(bot.servers)
|
||||
channels = len([c for c in bot.get_all_channels()])
|
||||
|
||||
login_time = datetime.datetime.now() - bot.uptime
|
||||
login_time = datetime.datetime.utcnow() - bot.uptime
|
||||
login_time = login_time.seconds + login_time.microseconds/1E6
|
||||
|
||||
print("Login successful. ({}ms)\n".format(login_time))
|
||||
@ -527,7 +527,7 @@ def main():
|
||||
load_cogs()
|
||||
|
||||
print("Logging into Discord...")
|
||||
bot.uptime = datetime.datetime.now()
|
||||
bot.uptime = datetime.datetime.utcnow()
|
||||
|
||||
if settings.login_credentials:
|
||||
yield from bot.login(*settings.login_credentials,
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user