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