Знаю, что вопросу много-много времени. Отвечу, может кто-то другой нуждается в этом.
В начале функции нужно поставить такое условие:
if message.author.bot: return
Оно игнорирует ботов и функция не будет рекурсивно выполняться.
Ведь on_message вызывается и когда Вы от лица своего бота посылаете сообщения.
А также, если требуется можно докрутить белый список для ботов:
if message.author.bot:
if not message.author.in in BOT_WHITE_LIST:
return