title: Discord.py @client.commands() unable to execute but @client.events can execute
body: <p>While making a bot for the video game VALORANT out of fun, I realised I could not get the client.commands to work at all while the client.event for on_message still works</p>
  <p>I actually have no idea what is wrong</p>
  <p>Things I tried doing:</p>
  <ul>
  <li>Changed the command_prefix to a single variable (originally it had multiple command_prefixes)</li>
  <li>Using code from a bot that does work. (Ping Command)</li>
  <li>Went to the developer portal to see if I gave enough permissions to the bot (I gave it admin)</li>
  <li>Reduced number of aliases</li>
  <li>changed aliases to name</li>
  <li>Imported asyncio</li>
  <li>put in print functions to determine if the await was the one not working or not (it didnt print out the text i set which i assume is the bot not recognising the command entirely)</li>
  </ul>
  <p>So far nothing works, is there sth I missed on a fundamental level?</p>
  <pre><code>import discord
  import random
  
  from discord.ext import commands
  
  client = commands.Bot(command_prefix=['v:'])
  
  @client.event
  async def on_ready():
      await client.change_presence(activity = discord.Game(name = &quot;VALORANT&quot;))
      print(&quot;Initiated!&quot;)
  
  # commands that cannot work
  @client.command()
  async def ping(ctx):
      print(&quot;if this shows up then it works lmao&quot;)
      await ctx.send(f&quot;Pong! {round(client.latency * 1000)}ms&quot;)
  
  @client.command(aliases = ['RAgent', 'ragent', 'RandomAgent', 'randomagent'])
  async def Random_Agent_Selection(ctx):
      print(&quot;if this shows up then it works lmao&quot;)
      Agents = ['Breach',
                'Brimstone',
                'Cypher',
                'Jett',
                'Killjoy',
                'Omen',
                'Phoenix',
                'Raze',
                'Reyna',
                'Sage',
                'Skye',
                'Sova',
                'Viper']
      await ctx.channel.send(f&quot;Random Agent: {random.choice(Agents)}&quot;)
  
  # event that DOES work
  @client.event
  async def on_message(message):
      if &quot;valorant&quot; in message.content.lower() and message.author.id != 750663559695958016: 
      #id = bot id so it wont infitely loop the command
          channel = message.channel
          await channel.send(&quot;The Valorant corporation is waiting for you&quot;)
  
  client.run(&quot;TOKEN&quot;)
  </code></pre>