#java #discord #discord-jda
#java #Discord #discord-jda
Вопрос:
Я новичок в Java Discord API, и я пытаюсь запускать функции при присоединении пользователей. Согласно javadocs, вам необходимо включить GatewayIntent GUILD_MEMBERS, который по умолчанию отключен, но когда я запускаю бота с помощью JDABuilder#enableIntents(GatewayIntent.GUILD_MEMBERS); Я получаю код ошибки.
CloseCode (4014 / Запрещенные намерения. Возможно, ваш бот не имеет права запрашивать привилегированное намерение, такое как GUILD_PRESENCES или GUILD_MEMBERS.)
Комментарии:
1. Сколькими серверами discord управляет ваш бот? Discord требует, чтобы вы подтвердили своего бота, если вы предоставляете более 100 серверов. Смотрите эту ссылку: support.discord.com/hc/de/articles /…
2. @botscripter Только мой.
3. Активировали ли вы намерение участников сервера на веб-сайте разработчика Discord в настройках бота?
Ответ №1:
Из руководства по устранению неполадок JDA:
Я получаю CloseCode (4014 / Запрещенные намерения …)
Это означает, что вы пытались использовать GatewayIntent.GUILD_MEMBERS или GatewayIntent.GUILD_PRESENCES без включения его на панели управления вашего приложения. Чтобы использовать эти привилегированные намерения, вы сначала должны включить их.
- Откройте панель управления приложением
- Выберите свое приложение-бот
- Откройте вкладку «Бот»
- В разделе «Намерения привилегированного шлюза» включите либо намерение УЧАСТНИКОВ СЕРВЕРА, либо НАМЕРЕНИЕ ПРИСУТСТВИЯ в зависимости от ваших потребностей.
Если вы используете эти намерения, вы ограничены 100 гильдиями в вашем боте. Чтобы бот мог присоединиться к большему количеству гильдий, используя это намерение, вы должны подтвердить своего бота. Это будет доступно на панели управления вашего приложения, когда бот присоединится как минимум к 75 гильдиям.