Событие присоединения Java Discord API

#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 без включения его на панели управления вашего приложения. Чтобы использовать эти привилегированные намерения, вы сначала должны включить их.

  1. Откройте панель управления приложением
  2. Выберите свое приложение-бот
  3. Откройте вкладку «Бот»
  4. В разделе «Намерения привилегированного шлюза» включите либо намерение УЧАСТНИКОВ СЕРВЕРА, либо НАМЕРЕНИЕ ПРИСУТСТВИЯ в зависимости от ваших потребностей.

Если вы используете эти намерения, вы ограничены 100 гильдиями в вашем боте. Чтобы бот мог присоединиться к большему количеству гильдий, используя это намерение, вы должны подтвердить своего бота. Это будет доступно на панели управления вашего приложения, когда бот присоединится как минимум к 75 гильдиям.