diff options
-rw-r--r-- | Pipfile | 1 | ||||
-rw-r--r-- | Pipfile.lock | 44 | ||||
-rw-r--r-- | bot/__init__.py | 4 | ||||
-rw-r--r-- | bot/__main__.py | 10 | ||||
-rw-r--r-- | bot/cogs/__init__.py | 0 | ||||
-rw-r--r-- | bot/cogs/evergreen/__init__.py | 0 | ||||
-rw-r--r-- | bot/cogs/evergreen/uptime.py | 33 | ||||
-rw-r--r-- | bot/cogs/hacktober/__init__.py | 0 | ||||
-rw-r--r-- | bot/cogs/hacktober/hacktoberstats.py (renamed from bot/cogs/hacktoberstats.py) | 0 | ||||
-rw-r--r-- | bot/cogs/hacktober/halloween_facts.py (renamed from bot/cogs/halloween_facts.py) | 0 | ||||
-rw-r--r-- | bot/cogs/hacktober/halloweenify.py (renamed from bot/cogs/halloweenify.py) | 0 | ||||
-rw-r--r-- | bot/cogs/hacktober/movie.py (renamed from bot/cogs/movie.py) | 0 | ||||
-rw-r--r-- | bot/cogs/hacktober/spookyreact.py (renamed from bot/cogs/spookyreact.py) | 0 |
13 files changed, 74 insertions, 18 deletions
@@ -5,6 +5,7 @@ name = "pypi" [packages] "discord.py" = {ref = "rewrite", git = "https://github.com/Rapptz/discord.py"} +arrow = "*" [dev-packages] "flake8" = "*" diff --git a/Pipfile.lock b/Pipfile.lock index 8d330b8d..5e3d2a77 100644 --- a/Pipfile.lock +++ b/Pipfile.lock @@ -1,7 +1,7 @@ { "_meta": { "hash": { - "sha256": "4ea08ef13815b0819e975097df6bb77d74d756524db2ad106ec93873fd1594de" + "sha256": "9d82195bc8a856a7c9f00057caf3af26c64d3d1daf09f63c6de55ad63f47f470" }, "pipfile-spec": 6, "requires": { @@ -16,9 +16,30 @@ ] }, "default": { + "arrow": { + "hashes": [ + "sha256:a558d3b7b6ce7ffc74206a86c147052de23d3d4ef0e17c210dd478c53575c4cd" + ], + "index": "pypi", + "version": "==0.12.1" + }, "discord.py": { "git": "https://github.com/Rapptz/discord.py", - "ref": "1da696258095d5c1171a1cdbe75f56c535c6683e" + "ref": "rewrite" + }, + "python-dateutil": { + "hashes": [ + "sha256:063df5763652e21de43de7d9e00ccf239f953a832941e37be541614732cdfc93", + "sha256:88f9287c0174266bb0d8cedd395cfba9c58e87e5ad86b2ce58859bc11be3cf02" + ], + "version": "==2.7.5" + }, + "six": { + "hashes": [ + "sha256:70e8a77beed4562e7f14fe23a786b54f6296e34344c23bc42f07b15018ff98e9", + "sha256:832dc0e10feb1aa2c68dcc57dbb658f1c7e65b9b61af69048abc87a2db00a0eb" + ], + "version": "==1.11.0" } }, "develop": { @@ -31,11 +52,11 @@ }, "flake8": { "hashes": [ - "sha256:7253265f7abd8b313e3892944044a365e3f4ac3fcdcfb4298f55ee9ddf188ba0", - "sha256:c7841163e2b576d435799169b78703ad6ac1bbb0f199994fc05f700b2a90ea37" + "sha256:6a35f5b8761f45c5513e3405f110a86bea57982c3b75b766ce7b65217abe1670", + "sha256:c01f8a3963b3571a8e6bd7a4063359aff90749e160778e03817cd9b71c9e07d2" ], "index": "pypi", - "version": "==3.5.0" + "version": "==3.6.0" }, "flake8-bugbear": { "hashes": [ @@ -85,17 +106,18 @@ }, "pycodestyle": { "hashes": [ - "sha256:682256a5b318149ca0d2a9185d365d8864a768a28db66a84a2ea946bcc426766", - "sha256:6c4245ade1edfad79c3446fadfc96b0de2759662dc29d07d80a6f27ad1ca6ba9" + "sha256:74abc4e221d393ea5ce1f129ea6903209940c1ecd29e002e8c6933c2b21026e0", + "sha256:cbc619d09254895b0d12c2c691e237b2e91e9b2ecf5e84c26b35400f93dcfb83", + "sha256:cbfca99bd594a10f674d0cd97a3d802a1fdef635d4361e1a2658de47ed261e3a" ], - "version": "==2.3.1" + "version": "==2.4.0" }, "pyflakes": { "hashes": [ - "sha256:08bd6a50edf8cffa9fa09a463063c425ecaaf10d1eb0335a7e8b1401aef89e6f", - "sha256:8d616a382f243dbf19b54743f280b80198be0bca3a5396f1d2e1fca6223e8805" + "sha256:9a7662ec724d0120012f6e29d6248ae3727d821bba522a0e6b356eff19126a49", + "sha256:f661252913bc1dbe7fcfcbf0af0db3f42ab65aabd1a6ca68fe5d466bace94dae" ], - "version": "==1.6.0" + "version": "==2.0.0" } } } diff --git a/bot/__init__.py b/bot/__init__.py index c411deb6..6b3a2a6f 100644 --- a/bot/__init__.py +++ b/bot/__init__.py @@ -2,6 +2,10 @@ import logging.handlers import os from pathlib import Path +import arrow + +# start datetime +start_time = arrow.utcnow() # set up logging log_dir = Path("bot", "log") diff --git a/bot/__main__.py b/bot/__main__.py index ccd69b0b..64f8fdc0 100644 --- a/bot/__main__.py +++ b/bot/__main__.py @@ -17,23 +17,19 @@ else: ghost_unicode = "\N{GHOST}" bot = commands.Bot(command_prefix=commands.when_mentioned_or(".", f"{ghost_unicode} ", ghost_unicode)) -log.info('Start loading extensions from ./bot/cogs/') +log.info('Start loading extensions from ./bot/cogs/evergreen/') if __name__ == '__main__': # Scan for files in the /cogs/ directory and make a list of the file names. - cogs = [file.stem for file in Path('bot', 'cogs').glob('*.py')] + cogs = [file.stem for file in Path('bot', 'cogs', 'evergreen').glob('*.py') if not file.stem.startswith("__")] for extension in cogs: try: - bot.load_extension(f'bot.cogs.{extension}') + bot.load_extension(f'bot.cogs.evergreen.{extension}') log.info(f'Successfully loaded extension: {extension}') except Exception as e: log.error(f'Failed to load extension {extension}: {repr(e)} {format_exc()}') - # print(f'Failed to load extension {extension}.', file=stderr) - # print_exc() -log.info(f'Spooky Launch Sequence Initiated...') bot.run(HACKTOBERBOT_TOKEN) -log.info(f'HackBot has been slain!') diff --git a/bot/cogs/__init__.py b/bot/cogs/__init__.py new file mode 100644 index 00000000..e69de29b --- /dev/null +++ b/bot/cogs/__init__.py diff --git a/bot/cogs/evergreen/__init__.py b/bot/cogs/evergreen/__init__.py new file mode 100644 index 00000000..e69de29b --- /dev/null +++ b/bot/cogs/evergreen/__init__.py diff --git a/bot/cogs/evergreen/uptime.py b/bot/cogs/evergreen/uptime.py new file mode 100644 index 00000000..ec4a3083 --- /dev/null +++ b/bot/cogs/evergreen/uptime.py @@ -0,0 +1,33 @@ +import arrow +from dateutil.relativedelta import relativedelta +from discord.ext import commands + +from bot import start_time + + +class Uptime: + """ + A cog for posting the bots uptime. + """ + + def __init__(self, bot): + self.bot = bot + + @commands.command(name='uptime') + async def uptime(self, ctx): + """ + Returns the uptime of the bot. + """ + difference = relativedelta(start_time - arrow.utcnow()) + uptime_string = start_time.shift( + seconds=-difference.seconds, + minutes=-difference.minutes, + hours=-difference.hours, + days=-difference.days + ).humanize() + await ctx.send(f"I started up {uptime_string}.") + + +# Required in order to load the cog, use the class name in the add_cog function. +def setup(bot): + bot.add_cog(Uptime(bot)) diff --git a/bot/cogs/hacktober/__init__.py b/bot/cogs/hacktober/__init__.py new file mode 100644 index 00000000..e69de29b --- /dev/null +++ b/bot/cogs/hacktober/__init__.py diff --git a/bot/cogs/hacktoberstats.py b/bot/cogs/hacktober/hacktoberstats.py index 0ccb41c1..0ccb41c1 100644 --- a/bot/cogs/hacktoberstats.py +++ b/bot/cogs/hacktober/hacktoberstats.py diff --git a/bot/cogs/halloween_facts.py b/bot/cogs/hacktober/halloween_facts.py index e97c80d2..e97c80d2 100644 --- a/bot/cogs/halloween_facts.py +++ b/bot/cogs/hacktober/halloween_facts.py diff --git a/bot/cogs/halloweenify.py b/bot/cogs/hacktober/halloweenify.py index a5fe45ef..a5fe45ef 100644 --- a/bot/cogs/halloweenify.py +++ b/bot/cogs/hacktober/halloweenify.py diff --git a/bot/cogs/movie.py b/bot/cogs/hacktober/movie.py index 925f813f..925f813f 100644 --- a/bot/cogs/movie.py +++ b/bot/cogs/hacktober/movie.py diff --git a/bot/cogs/spookyreact.py b/bot/cogs/hacktober/spookyreact.py index 9146b797..9146b797 100644 --- a/bot/cogs/spookyreact.py +++ b/bot/cogs/hacktober/spookyreact.py |