title: Why won't Discord bot recognize commands?
body: <p>I'm making a bot for a pokemon server, and I'm trying to make a command that will give the 'Gym Leader' role to another user. I try using the command, and using the test command, but there is no response in the server nor the shell.</p>
  
  <pre><code>import os
  import discord
  from dotenv import load_dotenv
  from discord.ext import commands
  from discord.utils import get
  
  bot = commands.Bot(command_prefix='b!', case_insensitive=True)
  
  load_dotenv()
  TOKEN = os.getenv('DISCORD_TOKEN')
  
  client = discord.Client()
  
  @client.event #works
  async def on_ready():
      print(f'{client.user.name} has connected to Discord!')
      channel = client.get_channel(697500755766018098)
  
  @client.event #works
  async def on_member_join(member):
      await member.create_dm()
      await member.dm_channel.send(
          f'Hi {member.name}, welcome to Pokémon Beast Ball!\n\nThis server utilizes Pokecord and Mewbot.\n\nSay \'pkhelp\' in the server to learn about Pokecord commands.\nSay \';help\' in the server to learn about Mewbot commands.'
      )
  
  @bot.command() #doesn't work
  async def test(ctx):
      print("test recieved")
      await ctx.send(ctx)
  
  @bot.command(pass_context=True) #this is the command that really needs help
  async def newleader(ctx: discord.User=None):
    print("command recieved")
    if not user:
      await ctx.send("Invalid")
      print("1")
    else:
      role = discord.utils.get(ctx.guild.roles, name="Gym Leader")
      role2 = discord.utils.get(ctx.guild.roles, name="Purple UniTurtle Man")
      if role in ctx.author.roles or role2 in ctx.author.roles:
          print("2")
          await ctx.send(f'A new Gym Leader has been appointed')
          await user.add_roles(role)
          await bot.remove_roles(ctx.author, role)
      else:
          print("3")
          await ctx.send("You do not have permission to use this command")
  
  client.run(TOKEN)
  </code></pre>