diff options
Diffstat (limited to 'bot')
| -rw-r--r-- | bot/bot.py | 22 | ||||
| -rw-r--r-- | bot/cogs/template.py | 36 | ||||
| -rw-r--r-- | bot/constants.py | 0 |
3 files changed, 58 insertions, 0 deletions
diff --git a/bot/bot.py b/bot/bot.py new file mode 100644 index 00000000..a67fcdab --- /dev/null +++ b/bot/bot.py @@ -0,0 +1,22 @@ +from pathlib import Path +from sys import stderr +from traceback import print_exc +from os import environ + +from discord.ext import commands + + +HACKTOBERBOT_TOKEN = environ.get('HACKTOBERBOT_TOKEN') +bot = commands.Bot(command_prefix=commands.when_mentioned_or('!')) + +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('cogs').glob('*.py')] + for extension in cogs: + try: + bot.load_extension(f'cogs.{extension}') + except Exception as e: + print(f'Failed to load extension {extension}.', file=stderr) + print_exc() + +bot.run(HACKTOBERBOT_TOKEN) diff --git a/bot/cogs/template.py b/bot/cogs/template.py new file mode 100644 index 00000000..89f12fe1 --- /dev/null +++ b/bot/cogs/template.py @@ -0,0 +1,36 @@ +from discord.ext import commands + + +class Template: + + """ + A template cog that contains examples of commands and command groups. + """ + + def __init__(self, bot): + self.bot = bot + + @commands.command(name='repo', aliases=['repository', 'project'], brief='A link to the repository of this bot.') + async def repository(self, ctx): + await ctx.send('https://github.com/discord-python/hacktoberbot') + + @commands.group(name='git', invoke_without_command=True) + async def github(self, ctx): + """ + A command group with the name git. You can now create sub-commands such as git commit. + """ + + await ctx.send('Resources to learn **Git**: https://try.github.io/.') + + @github.command() + async def commit(self, ctx): + """ + A command that belongs to the git command group. Invoked using git commit. + """ + + await ctx.send('`git commit -m "First commit"` commits tracked changes.') + + +# Required in order to load the cog, use the class name in the add_cog function. +def setup(bot): + bot.add_cog(Template(bot)) diff --git a/bot/constants.py b/bot/constants.py new file mode 100644 index 00000000..e69de29b --- /dev/null +++ b/bot/constants.py |