¿Por qué on_message impide que los comandos funcionen?

Básicamente todoaparece funcionar bien y comenzar, pero por alguna razón no puedo llamar a ninguno de los comandos. He estado mirando alrededor por una hora fácilmente y ahora estoy viendo ejemplos / viendo videos y no puedo por mi vida descubrir qué está mal. Código a continuación:

import discord
import asyncio
from discord.ext import commands

bot = commands.Bot(command_prefix = '-')
@bot.event
async def on_ready():
    print('Logged in as')
    print(bot.user.name)
    print(bot.user.id)
    print('------')

@bot.event
async def on_message(message):
    if message.content.startswith('-debug'):
        await message.channel.send('d')

@bot.command(pass_context=True)
async def ping(ctx):
    await ctx.channel.send('Pong!')

@bot.command(pass_context=True)
async def add(ctx, *, arg):
    await ctx.send(arg)

La salida de depuración que tengo en on_message realmente funciona y responde, y todo el bot se ejecuta sin excepciones, pero simplemente no llamará a los comandos.

Respuestas a la pregunta(1)

Su respuesta a la pregunta