Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Python 3, disnake

Тимофей Толчев Ученик (103), открыт 1 неделю назад
Не работает код

import disnake
from disnake.ext import commands

intent = disnake.Intents.all()
bot = commands.Bot (command_prefix='/', intents=intent)


@bot.event
async def on_ready():
print("Бот готов!")

@bot.command()
async def ping(ctx):
await ctx.send("Pong!")

bot.run ("Мой токен")

Не работает при добавлении intent = disnake.Intents.all() и intents=intent


Код ошибки:
Traceback (most recent call last):
File "C:\Users\qwe\PycharmProjects\bot\1123.py", line 16, in <module>
bot.run ("Мой токен")
File "C:\Users\qwe\PycharmProjects\bot\.venv\Lib\site-packages\disnake\client.py", line 1126, in run
return future.result()
^^^^^^^^^^^^^^^
File "C:\Users\qwe\PycharmProjects\bot\.venv\Lib\site-packages\disnake\client.py", line 1105, in runner
await self.start(*args, **kwargs)
File "C:\Users\qwe\PycharmProjects\bot\.venv\Lib\site-packages\disnake\client.py", line 1067, in start
await self.connect(
File "C:\Users\qwe\PycharmProjects\bot\.venv\Lib\site-packages\disnake\client.py", line 992, in connect
raise PrivilegedIntentsRequired(exc.shard_id) from None
disnake.errors.PrivilegedIntentsRequired: Shard ID None is requesting privileged intents that have not been explicitly enabled in the developer portal. It is recommended to go to https://discord.com/developers/applications/ and explicitly enable the privileged intents within your application's page. If this is not possible, then consider disabling the privileged intents instead.
1 ответ
Егор Губин Ученик (122) 1 неделю назад
Ошибка PrivilegedIntentsRequired возникает, потому что вы включили привилегированные интенции (disnake.Intents.all()), но не активировали их в панели разработчика Discord. Привилегированными считаются такие интенции, как:

members
presence
Чтобы решить эту проблему, выполните следующие шаги:

Активируйте привилегированные интенты в панели разработчиков Discord:
Перейдите на сайт Discord Developer Portal.
Выберите ваше приложение.
Откройте вкладку «Bot» («Бот»).
Прокрутите вниз до раздела «Privileged Gateway Intents» («Привилегированные интенты шлюза») и включите нужные опции.
Измените код, чтобы явно указать нужные интенции:Если вам действительно нужны привилегированные инте́нты, оставьте всё как есть, но убедитесь, что они включены в панели разработки. Если же привилегированные интенции вам не требуются, вы можете создать объект Intents вручную и включить только те интенции, которые необходимы вашему боту.Вот пример того, как можно настроить интенты без использования привилегированных:

from disnake.ext import commands
import disnake

intents = disnake.Intents.default()
intents.message_content = True # Включаем чтение сообщений

bot = commands.Bot (command_prefix='/', intents=intents)

@bot.event
async def on_ready():
print("Бот готов!")

@bot.command()
async def ping(ctx):
await ctx.send("Pong!")

bot.run ("Ваш токен")
Здесь мы включаем стандартный набор интентов плюс возможность чтения сообщений пользователей.
После внесения этих изменений проблема должна быть решена. Убедитесь, что вы сохранили изменения в панели разработчика и перезапустили бот.
Похожие вопросы