Discord Oauth2 Вступить в гильдию - PullRequest
0 голосов
/ 28 декабря 2018
const guildMembersResponse = fetch(`http://discordapp.com/api/guilds/440494010595803136/members/278628366213709824`,
            {
              method: 'PUT',
              headers: {
                Authorization: `Bearer TOKEN`,
              },
            });
            setTimeout(() => {
                console.log(guildMembersResponse)
            }, 500);

Я хочу присоединить пользователя к моему серверу Discord с его идентификатором пользователя и его токеном в nodejs, но если я запрашиваю API Dicord, я получаю сообщение об ошибке:

Promise {
 Response {
  size: 0,
  timeout: 0,
  [Symbol(Body internals)]: { body: [PassThrough], disturbed: false, error: 
  null },
  [Symbol(Response internals)]:
  { url:
  'https://discordapp.com/api/guilds/440494010595803136/members/278628366213709824',
   status: 401,
   statusText: 'UNAUTHORIZED',
   headers: [Headers] } } }

IЯ использую библиотеку node-fetch !

Ответы [ 2 ]

0 голосов
/ 28 декабря 2018

Мне просто нужно было заменить ContentType на «Content-Type»

headers: {
  "Authorization": "Bot [botToken]",
  "Content-Type": "application/json",

},

0 голосов
/ 28 декабря 2018

Ошибка 401 будет означать, что вы не указали правильную область для ссылки oauth.Подробнее об областях действия Discord OAuth можно узнать по https://discordapp.com/developers/docs/topics/oauth2#shared-resources-oauth2-scopes.. При цитировании документов вам понадобится область действия guilds.join.

Более того, цитата по документам:

guilds.join и bot требуют, чтобы у вас была учетная запись бота, связанная с вашим приложением.Кроме того, чтобы добавить пользователя в гильдию, ваш бот должен уже принадлежать к этой гильдии.

Поэтому убедитесь, что ваше приложение удовлетворяет вышеуказанному требованию.

Если у вас естьУбедившись, что вы выполнили вышеуказанные действия, и все еще не можете заставить его работать, вам придется поделиться ссылкой OAuth с нами, чтобы помочь вам в дальнейшем расследовании

...