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 | 
