Привет, я пытаюсь связаться с моим ботом в дискорде, но он не отвечает бот онлайн, но нет ответа здесь следующий код:
import discord
client = discord.Client(intents=discord.Intents.default())
client.run("token")
@client.event
async def on_message(message):
if message.content == "ping":
await message.channel.send("pong")






Вам необходимо включить намерение содержимого сообщения. добавьте это в свой код под своими определениями намерений
intents.message_content = True
затем перейдите в панель разработчика
и включите Message Content в Privileged Intents после этого ваш код должен работать ;-)
Чтобы ваш бот отвечал на отправленные сообщения, требуется намерение message_content.
С intents=discord.Intents.default() следующие намерения ОТКЛЮЧЕНЫ:
Теперь вы можете включить все упомянутые намерения или только определенные намерения. Если вы хотите отправить сообщение в ответ на отправленное сообщение, вам нужно намерение self.message_content.
Вы также можете добавить все намерения, чтобы избежать проблем с ними в будущем (обратите внимание, что после определенного количества серверов Discord вам необходимо подать заявку на использование всех привилегированных намерений).
intents = discord.Intents.all()
client = discord.Client(intents=intents)
Вам следует подумать об активации намерений:
Посетите портал для разработчиков > выберите свое приложение > Намерения привилегированного шлюза.
Для дальнейшего программирования в Discord.py рассмотрите возможность прочтения документации, так как существует новая версия Discord.py.
Упомянутое выше намерение message_content необходимо, но это не единственное, что здесь неправильно.
Когда вы вызываете client.run(), ничто ниже этого не будет выполняться, пока клиент не выйдет из строя. Это означает, что ваше событие on_message никогда не будет создано. client.run() должна быть самой последней строкой в вашем файле.
да, потому что если бы вы исследовали, прежде чем задавать этот вопрос, вы бы знали, что вам нужно включить намерение
message_content