#node.js #discord #discord.js
#node.js #Discord #discord.js
Вопрос:
Вот сообщение об ошибке:
PS C:UsersUserDocumentsDiscord Bot> node .
ready
C:UsersUserDocumentsDiscord Botnode_modulesdiscord.jssrcrestRequestHandler.js:154
throw new DiscordAPIError(request.path, data, request.method, res.status);
^
DiscordAPIError: Missing Access
at RequestHandler.execute (C:UsersUserDocumentsDiscord Botnode_modulesdiscord.jssrcrestRequestHandler.js:154:13)
at processTicksAndRejections (node:internal/process/task_queues:93:5)
at async RequestHandler.push (C:UsersUserDocumentsDiscord Botnode_modulesdiscord.jssrcrestRequestHandler.js:39:14) {
method: 'post',
path: '/applications/723863781607997451/guilds/722043668730740788/commands',
code: 50001,
httpStatus: 403
}
Помощь приветствуется.
Это мой первый пост в stackoverflow, поэтому, если я публикую что-то не так, пожалуйста, скажите мне!
Комментарии:
1. Я использовал неправильный идентификатор гильдии
Ответ №1:
Эта ошибка вызвана тем, что у вашего бота Discord нет разрешения на создание команд для этого сервера.
Это можно исправить двумя способами.
Вариант 1 — Авторизация в приложении
Сначала вы должны перейти на портал разработчика Discord, затем вы должны нажать на бота, с которым у вас возникла проблема.
Затем вам будет предложено перейти на эту страницу:
Затем вы должны нажать на страницу «OAuth», выделенную красным цветом на скриншоте выше.
Как только вы окажетесь на этой странице, вы должны найти параметр «Ссылка авторизации по умолчанию» и установить для него значение «Авторизация в приложении».
Как только эта опция будет выбрана, появится другая опция с вопросом, какие разрешения бот будет запрашивать у пользователя, вы можете увидеть скриншот ниже.
Выберите bot
, а application.commands
затем выберите разрешения, которые требуются вашему боту.
Вам нужно будет повторно авторизовать своего бота в гильдии, прежде чем он заработает, вам не нужно его кикать — просто нажмите на своего бота и нажмите «Добавить на сервер» и повторно добавьте его в свою гильдию.
Вариант 2 — Генерация URL
Сначала вы должны перейти на портал разработчика Discord, затем вы должны нажать на бота, с которым у вас возникла проблема.
Как только вы окажетесь на этой странице, вы должны получить доступ к подменю OAuth под названием «Генерация URL», как показано ниже.
Как только вы окажетесь на этой странице, вам будет представлен вывод, аналогичный варианту 1, вы должны настроить область действия на быть bot
и application.commands
, а затем запросить разрешения в соответствии с потребностями вашего бота.
Примечание
Вы должны использовать оба из них в своем боте Discord, вы должны использовать опцию 1 для настройки разрешений авторизации в приложении, а затем использовать опцию 2 для получения URL-адреса для списков ботов Discord и т. Д.
Комментарии:
1. Спасибо, это сработало. Но список команд не отображается в меню / . Тем не менее, команды все еще работают.
2. Пользовательский кэш команд рассчитан на час, поэтому просто подождите максимум час, и он появится. Если это помогло, проголосуйте и отметьте его как правильное, чтобы другие могли легко получить помощь, если они нажмут здесь 🙂
3. Я использую команды, специфичные для гильдии, а не глобальные. Разве команды гильдии не развертываются мгновенно?
4. Возможно, проблема с клиентом, попробуйте CTRL R.
5. Там нет области applications.commands.update.