From c0450c5bbe42113465706cc4f191933e5b8bc024 Mon Sep 17 00:00:00 2001 From: CramMK <39596050+CramMK@users.noreply.github.com> Date: Sun, 19 Jan 2020 15:21:37 +0100 Subject: [PATCH] Add AquaBot title and some other minor changes --- .gitignore | 3 ++- README.md | 12 ++++++++---- cogs/admin.py | 19 +++++++++++-------- cogs/cog_framework.py | 4 ++-- cogs/general.py | 41 ++++++++++++++++++++++------------------- cogs/help.py | 21 +++++++++++---------- cogs/utility.py | 29 +++++++++++++++++++++++++++++ cogs/welcome.py | 13 ++++++------- config/cogs.py | 5 ++++- img/aquabot.png | Bin 0 -> 3942 bytes 10 files changed, 95 insertions(+), 52 deletions(-) create mode 100644 cogs/utility.py create mode 100644 img/aquabot.png diff --git a/.gitignore b/.gitignore index f3ca72f..a512256 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,3 @@ __pycache__/ -config/config.py \ No newline at end of file +config/config.py +.vscode/ \ No newline at end of file diff --git a/README.md b/README.md index 4ff7cd6..66392e7 100644 --- a/README.md +++ b/README.md @@ -1,9 +1,8 @@ ![Avatar](img/avatar.png) - -AquaBot +![Slogan](img/aquabot.png) ======= -[![discordpy](https://img.shields.io/badge/python-3.7-blue.svg)](https://github.com/Rapptz/discord.py) +[![discordpy](https://img.shields.io/badge/discordpy-Core-blue)](https://github.com/Rapptz/discord.py) [![Discord Server](https://img.shields.io/badge/Support-Discord%20Server-blue.svg)](https://discordapp.com/invite/HbYfyJT) This bot is my first personal project so expect some minor (or bigger) problems @@ -16,11 +15,16 @@ Support and Report requests are handled via Discord (Link above). Installation ------------ -Use `pip install discord.py` to install the latest version of discord.py. +Use `pip install discord.py[voice]` to install the latest version of discord.py. Then, after cloning this repository with `git clone https://github.com/crammk/aquabot`, you can run the `aquabot.py`. +Commands +------ + +# TODO + Config ------ diff --git a/cogs/admin.py b/cogs/admin.py index 4263077..37530a8 100644 --- a/cogs/admin.py +++ b/cogs/admin.py @@ -12,16 +12,17 @@ import discord from discord.ext import commands # COG INIT -class AdminCog(commands.Cog): +class Admin(commands.Cog): def __init__(self, bot): self.bot = bot # COG BODY - # used as "load cogs.COGNAME" @commands.command(name="load", hidden=True) @commands.is_owner() async def load(self, ctx, *, cog: str): - + """ + Used as 'load cogs.COGNAME' + """ try: self.bot.load_extension(cog) except Exception as e: @@ -30,11 +31,12 @@ class AdminCog(commands.Cog): await ctx.send('**`SUCCESS`**') - # used as "unload cogs.COGNAME" @commands.command(name="unload", hidden=True) @commands.is_owner() async def unload(self, ctx, *, cog: str): - + """ + Used as 'unload cogs.COGNAME' + """ try: self.bot.unload_extension(cog) except Exception as e: @@ -43,11 +45,12 @@ class AdminCog(commands.Cog): await ctx.send('**`SUCCESS`**') - # used as "reload cogs.COGNAME" @commands.command(name="reload", hidden=True) @commands.is_owner() async def reload(self, ctx, *, cog: str): - + """ + Used as 'reload cogs.COGNAME' + """ try: self.bot.unload_extension(cog) self.bot.load_extension(cog) @@ -59,4 +62,4 @@ class AdminCog(commands.Cog): # COG ENDING def setup(bot): - bot.add_cog(AdminCog(bot)) \ No newline at end of file + bot.add_cog(Admin(bot)) \ No newline at end of file diff --git a/cogs/cog_framework.py b/cogs/cog_framework.py index 784a930..d95319a 100644 --- a/cogs/cog_framework.py +++ b/cogs/cog_framework.py @@ -9,7 +9,7 @@ import discord from discord.ext import commands # COG INIT -class FooCog(commands.Cog): +class Foo(commands.Cog): def __init__(self, bot): self.bot = bot @@ -17,4 +17,4 @@ class FooCog(commands.Cog): # COG ENDING def setup(bot): - bot.add_cog(FooCog(bot)) + bot.add_cog(Foo(bot)) \ No newline at end of file diff --git a/cogs/general.py b/cogs/general.py index 2420245..621c61e 100644 --- a/cogs/general.py +++ b/cogs/general.py @@ -4,46 +4,49 @@ # https://discordpy.readthedocs.io/en/latest/ext/commands/cogs.html # -# IMPORTS +# IMPORTS - external import discord from discord.ext import commands # COG INIT -class GeneralCog(commands.Cog): +class General(commands.Cog): def __init__(self, bot): self.bot = bot # COG BODY - @commands.command( - name="invitelink", - description="Sends the invite link", - aliases=["invite"] - ) - async def invite_link(self, ctx): + @commands.command(name="about") + async def about(self, ctx): + """ + Prints some information about myself + """ + embed = discord.Embed(colour=discord.Colour.blue()) - # TODO fetch this from config so more servers are supported - link = "Here is our invite link: https://discordapp.com/invite/HbYfyJT" - await ctx.send(link) + embed.add_field(name="test", value="test2") + + embed.set_footer(text="footer", icon_url="img/avatar.png") + + + await ctx.send(embed=embed) - @commands.command( - name="pat", - description="Pats the selected user" - ) + + @commands.command(name="pat") @commands.guild_only() async def pat(self, ctx, target: str): - + """ + Let's you pat a selected user + """ author = ctx.message.author if target is None: response = "No one to pat..." - elif target == "Noel": + elif target.capitalize() == "Noel": response = "NNN-GYAAAA!" else: - response = f"{target.mention} got pat by {author.mention}" + response = f"{target} got pat by {author.mention}" await ctx.send(response) # COG ENDING def setup(bot): - bot.add_cog(GeneralCog(bot)) \ No newline at end of file + bot.add_cog(General(bot)) \ No newline at end of file diff --git a/cogs/help.py b/cogs/help.py index db64174..b700374 100644 --- a/cogs/help.py +++ b/cogs/help.py @@ -9,23 +9,24 @@ import discord from discord.ext import commands # COG INIT -class HelpCog(commands.Cog): +class Help(commands.Cog): def __init__(self, bot): self.bot = bot # COG BODY - @commands.command( - name="aquabot", - description="Prints a short help for new users" - ) + @commands.command( name="aquabot") async def aquabot(self, ctx): + """ + Sends a short help for new users + """ + response = """ + I'm the usele... divine AquaBot! + If you need help, try using the `help` command! + """ - await ctx.send(""" - I'm the usele... divine AquaBot! - If you need help, try using the `help` command! - """) + await ctx.send(response) # COG ENDING def setup(bot): - bot.add_cog(HelpCog(bot)) \ No newline at end of file + bot.add_cog(Help(bot)) \ No newline at end of file diff --git a/cogs/utility.py b/cogs/utility.py new file mode 100644 index 0000000..5a0c595 --- /dev/null +++ b/cogs/utility.py @@ -0,0 +1,29 @@ +# +# This Cog adds some utility commands +# +# https://discordpy.readthedocs.io/en/latest/ext/commands/cogs.html +# + +# IMPORTS +import discord +from discord.ext import commands + +# COG INIT +class Utility(commands.Cog): + def __init__(self, bot): + self.bot = bot + +# COG BODY + @commands.command(name="invitelink", aliases=["invite"]) + async def invite_link(self, ctx): + """ + Sends the server's invitelink to chat + """ + + # TODO fetch this from config so more servers are supported + link = "Here is our invite link: https://discordapp.com/invite/HbYfyJT" + await ctx.send(link) + +# COG ENDING +def setup(bot): + bot.add_cog(Utility(bot)) diff --git a/cogs/welcome.py b/cogs/welcome.py index 039416e..b9e7051 100644 --- a/cogs/welcome.py +++ b/cogs/welcome.py @@ -9,28 +9,27 @@ import discord from discord.ext import commands # COG INIT -class WelcomeCog(commands.Cog): +class Welcome(commands.Cog): def __init__(self, bot): self.bot = bot # COG BODY @commands.Cog.listener() async def on_member_join(self, member): - + """ + Greets new users joining your server + """ channel = member.guild.system_channel text = f"Welcome {member.mention} to our useless Discord!" if channel is not None: await channel.send(text) - @commands.command( - name="hello", - description="Hello!" - ) + @commands.command(name="hello") async def hello(self, ctx): await ctx.send(f"Hello {ctx.author.mention}!") # COG ENDING def setup(bot): - bot.add_cog(WelcomeCog(bot)) \ No newline at end of file + bot.add_cog(Welcome(bot)) \ No newline at end of file diff --git a/config/cogs.py b/config/cogs.py index b5dc9fa..05c5f2e 100644 --- a/config/cogs.py +++ b/config/cogs.py @@ -1,7 +1,10 @@ # Initally loaded cogs +# Don't remove the "admin" cog or tou won't be able to load cogs +# from with the Discord-Client __cogs__ = [ "cogs.admin", "cogs.general", "cogs.welcome", - "cogs.help" + "cogs.help", + "cogs.utility" ] \ No newline at end of file diff --git a/img/aquabot.png b/img/aquabot.png new file mode 100644 index 0000000000000000000000000000000000000000..c8ff9438a65d6126bf34e0f0d2ca3fb35779ea9f GIT binary patch literal 3942 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 pT(=L8La)?a%KuGg$3QeE0wW literal 0 HcmV?d00001