Если хотите писать сообщения в ЛС, то убирайте все упоминания серверов, зачем вы получаете список участников какого-то сервера, если общаетесь в приватном чате.
Удалить:
for message.author in guild.members
Тип стоит проверять по другому. Вместо
if message.channel.type == discord.DMChannel:
используйте
if isinstance(message.channel, discord.DMChannel):
Так же в начало функции стоит добавить проверку является ли автор сообщения ботом, чтобы он сам на себя не зацикливался. Плюс, можно не дергать каждый раз пользователя, он уже есть в
message.author
Как-то так:
@bot.event
async def on_message(message):
if message.author.bot:
return
if isinstance(message.channel, discord.DMChannel):
await message.author.send("message")