diff --git a/README.md b/README.md index fa8ffe6..accfb5a 100644 --- a/README.md +++ b/README.md @@ -18,7 +18,7 @@ Installation - Docker `WIP!` -+ Clone this repository with `git clne https://github.com/CramMK/aquabot` ++ Clone this repository with `git clone https://github.com/CramMK/aquabot` + Create a `config/config.py`, using the `config/config_example.py` as a guideline diff --git a/aquabot.py b/aquabot.py index 03e9616..c17fd47 100644 --- a/aquabot.py +++ b/aquabot.py @@ -9,6 +9,7 @@ https://discordpy.readthedocs.io/en/latest/intro.html import discord from discord.ext import commands import logging +import platform # IMPORTS - internal import loadconfig @@ -16,9 +17,9 @@ import loadconfig # LOGGING logger = logging.getLogger("discord") # https://docs.python.org/3/library/logging.html#levels -logger.setlevel(logging.INFO) +logger.setLevel(logging.INFO) handler = logging.FileHandler( - filename="discord_%(asctime)s.log", + filename="discord.log", encoding="utf-8", mode="w" ) @@ -27,16 +28,6 @@ handler.setFormatter( ) logger.addHandler(handler) -# SOME DATA THAT CAN BE USED LATER -metadata = { - "name": f"{bot.user.name} - {bot.user.id}", - "admin": f"{self.bot.AppInfo.owner}", - "prefix": f"{loadconfig.__token__}", - "discordpy_version": f"{discord.__version__}", - "python_version": f"{platform.python_version}", - "os": f"{platform.system()} {platform.release()} {platform.version()}" -} - # INIT THE BOT bot = commands.Bot( command_prefix=loadconfig.__prefix__, @@ -61,14 +52,15 @@ async def on_ready(): Inspired by: https://gist.github.com/EvieePy/d78c061a4798ae81be9825468fe146be """ + bot.AppInfo = await bot.application_info() startup = f""" - Bot Name: {metadata["name"]}\n - Admin: {metadata["admin"]}\n - Command Prefix: {metadata["prefix"]}\n - discord.py Version: {metadata["discordpy_version"]}\n - python Version: {metadata["python_version"]}\n - OS: {metadata["os"]}\n + Bot Name: {bot.user.name} - {bot.user.id}\n + Owner: {bot.AppInfo.owner}\n + Command Prefix: {loadconfig.__prefix__}\n + discord.py Version: {discord.__version__}\n + python Version: {platform.python_version()}\n + OS: {platform.system()} {platform.release()} {platform.version()}\n """ print(startup) diff --git a/cogs/general.py b/cogs/general.py index fc0991a..2bd0af1 100644 --- a/cogs/general.py +++ b/cogs/general.py @@ -8,9 +8,10 @@ https://discordpy.readthedocs.io/en/latest/ext/commands/cogs.html # IMPORTS - external import discord from discord.ext import commands +import platform # IMPORTS - internal -from aquabot import metadata +import loadconfig # COG INIT class General(commands.Cog): @@ -24,23 +25,23 @@ class General(commands.Cog): Prints some information about myself """ embed = discord.Embed(colour=discord.Colour.blue()) + embed.set_thumbnail(url=ctx.me.avatar_url) - embed.add_field(name="Bot Name", value=metadata["name"], inline=True) - embed.add_field(name="Admin", value=metadata["admin"], inline=True) - embed.add_field(name="Prefix", value=metadata["prefix"], inline=True) - embed.add_field(name="discord.py Version", value=metadata["discordpy_version"], inline=True) - embed.add_field(name="python Version", value=metadata["python_version"], inline=True) - embed.add_field(name="OS", value=metadata["os"], inline=True) + embed.add_field(name="Owner", value=self.bot.AppInfo.owner, inline=True) + embed.add_field(name="Command Prefix", value=loadconfig.__prefix__, inline=True) + embed.add_field(name="Discord.py Version", value=discord.__version__, inline=True) + embed.add_field(name="Python Version", value=platform.python_version(), inline=True) + embed.add_field(name="OS", value=f"{platform.system()} {platform.release()} {platform.version()}", inline=True) - footer_text = """ - This Bot is an OpenSource project by Marc and can be found on - github.com/CramMK/aquabot - """ - embed.set_footer(text=footer_text, icon_url="img/avatar.png") + footer_text = ( + "This Bot is an OpenSource project by Marc and can be found " + "on github.com/CramMK/aquabot" + ) + embed.set_footer(text=footer_text, icon_url=loadconfig.__avatar__) await ctx.send(embed=embed) # COG ENDING def setup(bot): - bot.add_cog(General(bot)) + bot.add_cog(General(bot)) \ No newline at end of file diff --git a/cogs/voice.py b/cogs/voice.py index 014a84c..4cb6c3f 100644 --- a/cogs/voice.py +++ b/cogs/voice.py @@ -20,55 +20,49 @@ class Voice(commands.Cog): # COG BODY @commands.command(name="join", aliases=["j"]) @commands.guild_only() - async def join(self, ctx): - """ - Tries to join the author's current voice channel - """ - channel = ctx.message.author.voice.channel - if not channel: - ctx.send:("You're not connected to a voice channel!") - return + async def join(self, ctx): + """ + Tries to join the author's current voice channel + """ + channel = ctx.message.author.voice.channel + if not channel: + ctx.send:("You're not connected to a voice channel!") + return - voice = get(bot.voice_clients, guild=ctx.guild) + voice = get(self.bot.voice_clients, guild=ctx.guild) - if voice and voice.is_connected(): - await voice.move_to(channel) - else: - voice = await channel.connect() - await ctx.send(f"`Joined {channel}!`") -""" useless? - await voice.disconnect() - - if voice and voice.is_connected(): - await voice.move_to(channel) - else: - voice = await channel.connect() + if voice and voice.is_connected(): + await voice.move_to(channel) + await ctx.send(f"`Move to {channel}!`") + else: + voice = await channel.connect() await ctx.send(f"`Joined {channel}!`") -""" + @commands.command(name="leave", aliases=["quit, l"]) @commands.guild_only() - async def leave(self, ctx): - """ - Leaves the voice channel, if connected - """ - channel = ctx.message.author.voice.channel - voice = get(bot.voice_clients, guild=ctx.guild) + async def leave(self, ctx): + """ + Leaves the voice channel, if connected + """ + channel = ctx.message.author.voice.channel + voice = get(self.bot.voice_clients, guild=ctx.guild) + + if voice and voice.is_connected(): + await voice.disconnect() + await ctx.send(f"`Left {channel}!`") + else: + await ctx.send("I'm not connected to a channel!") - if voice and voice.is_connected(): - await voice.disconnect() - await ctx.send(f"`Left {channel}!`") - else: - ctx.send("I'm not connected to a channel!") @commands.command(name="play", aliases=["p"]) @commands.guild_only() - async def play(self, ctx, url: str): - """ - Plays music from YT link specifies - """ - # TODO - ctx.send("This module is not working yet!") + async def play(self, ctx, url: str): + """ + Plays music from YT link specifies + """ + # TODO + ctx.send("This module is not working yet!") # COG ENDING diff --git a/config/cogs.py b/config/cogs.py index 254a5e1..fcf42e8 100644 --- a/config/cogs.py +++ b/config/cogs.py @@ -10,5 +10,6 @@ __cogs__ = [ "cogs.welcome", "cogs.help", "cogs.utility", - "cogs.anime" + "cogs.anime", + "cogs.voice" ] \ No newline at end of file diff --git a/loadconfig.py b/loadconfig.py index fb787d8..854fba6 100644 --- a/loadconfig.py +++ b/loadconfig.py @@ -4,9 +4,11 @@ Gather all config data into one file loadconfig.py then gets called in aquabot.py """ +__avatar__ = "https://i.imgur.com/mskM9dH.png" + from config.cogs import __cogs__ try: from config.config import __token__, __prefix__ except ImportError as e: - print(f"Error while importing: {e}") + print(f"Error while importing: {e}") \ No newline at end of file