Oauth2 application does not have a bot ошибка discord

Обновлено: 02.07.2024

В данном разделе приводится описание ошибок, возникающих при выполнении запросов в рамках протокола OAuth 2.0 и OpenId Connect 1.0.

В случае возникновения ошибок сервер возвращает информацию в двух полях:

  • error - код ошибки.
  • error_description - описание ошибки.

Далее будет представлена информация по кодам ошибок.

Ошибки конечной точки /authorize

invalid_request

В запросе не передан обязательный параметр, либо значения переданного параметра некорректно, либо параметр пристутствует в запросе несколько раз, либо весь запрос имеет неправильный формат.

Возможные причины

unauthorized_client

Возможные причины

unsupported_response_tpe

Тип ответа не поддерживается.

Указанный в запросе response_type не поддерживается.

Возможные причины

  • В запросе указан параметр response_type со значениями отличными от
    • code ,
    • token ,
    • id_token ,
    • id_token token ,
    • code id_token
    • code token
    • code id_token token .

    invalid_scope

    Неправильная область использования.

    Возможные причины

    login_required

    Запрос не может быть выполнен в интерактивном режиме (с указанием параметра prompt со значением none ).

    Возможные причины

    • Запрос не может быть выполнен в неинтерактивном режиме, так как требуется аутентификация пользователя.

    Ошибки конечной точки /token

    invalid_request

    В запросе не передан обязательный параметр, либо значения переданного параметра некорректно, либо параметр пристутствует в запросе несколько раз, либо весь запрос имеет неправильный формат.

    Возможные причины

    invalid_client

    Не удалось осуществить аутентификацию клиента.

    Возможные причины

    invalid_grant

    Разрешение, используемое клиентом, не является действительным.

    Возможные причины

    • Не передан параметр password в сценарии с использованием учётных данных владельца ресурсов.
    • Сервер не настроен на обработку сценария с использованием учётных данных владельца ресурсов.
    • Не удалось аутентифицировать пользователя по переданным username и password .
    • Сценарий с использованием учётных данных владельца ресурсов не может быть использован для данной учётной записи пользователя из-за включенной вторичной аутентификации.
    • Не передан код авторизации в сценарии с кодом авторизации.
    • Переданный код авторизации истёк или не действителен.
    • Переданный код авторизации был получен другим клиентом.

    unauthorized_client

    API Errors Discord – это достаточно распространенная категория ошибок, возникающих во время авторизации в приложении мессенджера. И в основном они связаны со сбоем, произошедшем на стороне разработчиков и серверов. Как правило, вины пользователей в подобных неполадках нет, а появляться они могут по разным причинам. Например, из-за слишком большой нагрузки, технических работ и попросту случайного бага. Но, как показывает статистика, программисты Дискорда быстро принимают меры для устранения ошибок и возвращают сервису былую работоспособность. Однако предлагаем ознакомиться с основными проблемами и способами их решения.

    API Errors в Discord – какие бывают и почему возникают?

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

    На самом деле существует несколько категорий багов, но наиболее часто встречаются только две:




    Произошла ошибка API – что делать?

    И первым делом нужно отметить, что самостоятельно устранить API Errors в Discord практически невозможно – от вас они попросту не зависят.

    Мы рекомендуем следовать алгоритму, показывающему неплохие результаты (но только, если произошел не глобальный сбой):

    1. Пытаемся выполнить авторизацию в учетной записи посредством официального сайта, а не программы.
    2. Если ситуация не изменилась, то устанавливаем на смартфон мобильное приложение Discord. При его наличии и авторизации выполняем удаление программы, а затем повторную установку. Открываем приложение и входим в свой аккаунт.
    3. Если все работает, то авторизуемся и на компьютере. В противном случае, когда ничего не помогло, рекомендуем в настройках изменить сервер. Например, остановившись на наиболее ближайшем варианте.

    Дискорд API Errors latency – что это? А под этим понимается очередная ошибка, связанная с авторизацией в приложении мессенджера. И ее уже никак не получится устранить самостоятельно – остается только ждать, пока разработчики примут меры. Если у вас не заходит в Дискорд, то API Errors latency наблюдается у многих пользователей.

    Таким образом, мы рассмотрели основные Discord API Errors, встречающиеся в программе мессенджера. И, как правило, они связаны со сбоями на стороне разработчиков. Есть дополнительные вопросы по теме материала? Мы готовы на них ответить в комментариях!

    Создание Discord бота на Python Туториал, Python, Discord, Длиннопост

    После установки самого python'а (проверить правильность установки можно написав в консоли: "python -V", возможно потребуется перезагрузка) установим модуль discord.py ( https://discordpy.readthedocs.io/en/latest/ -это ссыль на официальную документацию), сделать это можно прописав в консоли: " pip install discord.py ". С установкой чего-либо окончено.

    Теперь перейдем к Discord'у:

    1. Создадим сам сервер:

    Создание Discord бота на Python Туториал, Python, Discord, Длиннопост

    2. Создадим текстовый канал "получение ролей" (название значения не имеет):

    Создание Discord бота на Python Туториал, Python, Discord, Длиннопост

    3. Добавим сами роли для выбора:

    Создание Discord бота на Python Туториал, Python, Discord, Длиннопост

    Создание Discord бота на Python Туториал, Python, Discord, Длиннопост

    Я в данном случае создал две роли исключительно для примера:

    Создание Discord бота на Python Туториал, Python, Discord, Длиннопост

    4. Копируем и сохраняем в расширении .py файлы:

    Q: как сохранить код в расширении .py?

    A: используйте блокнот:

    создаете новый файл, вставляете код, в левом верхнем углу: файл >> сохранить как

    Создание Discord бота на Python Туториал, Python, Discord, Длиннопост

    5. Не закрывая файлы переходим на сайт ( https://discordapp.com/developers ), регаемся, переходим во вкладку "Applications" и создаем новое приложение:

    Создание Discord бота на Python Туториал, Python, Discord, Длиннопост

    Далее называем его по любому, со всем соглашаемся.

    Переходим во вкладку "Bot",

    Создание Discord бота на Python Туториал, Python, Discord, Длиннопост

    Создание Discord бота на Python Туториал, Python, Discord, Длиннопост

    далее его можно как-либо назвать и поменять аватарку. После макияжа переходим во вкладку "OAuth2":

    Создание Discord бота на Python Туториал, Python, Discord, Длиннопост

    Пролистываем немного ниже:

    Создание Discord бота на Python Туториал, Python, Discord, Длиннопост

    В окне "SCOPES" выбираем "bot", во втором выбираем "Administrator", далее копируем и впоследствии переходим по ссылке, там все подтверждаем.

    Создание Discord бота на Python Туториал, Python, Discord, Длиннопост

    После авторизации переходим во вкладку "Bot" и копируем токен.

    Создание Discord бота на Python Туториал, Python, Discord, Длиннопост

    Далее открываем файл " config.py " созданный ранее и вместо надписи "тут токен" вставляем реальный токен. Хочется отметить то что токен меняется при смене имени бота и аватарки, если у вас появятся проблемы, стоит обратить внимание на токен.

    Создание Discord бота на Python Туториал, Python, Discord, Длиннопост

    Создание Discord бота на Python Туториал, Python, Discord, Длиннопост

    Добавить реакции можно нажав пкм:

    Создание Discord бота на Python Туториал, Python, Discord, Длиннопост

    Далее копируем ID поста, кликнув пкм:

    Создание Discord бота на Python Туториал, Python, Discord, Длиннопост

    Создание Discord бота на Python Туториал, Python, Discord, Длиннопост

    Перейдем к самим ролям, для этого копируем эмодзи из реакций (если вы из брали с ссайта который я оставлял выше то копируйте от туда, если вы их выбирали в ds то скопируйте их в ds и вставте на сайт и скопируйте оттуда) и вставляем в config в ординарных апострофах с двух сторон и через двоеточие указываем id роли, в конце строк (кроме последней) ставим запятые

    Создание Discord бота на Python Туториал, Python, Discord, Длиннопост

    Взять id можно кликнув пкм по названию роли.

    В итоге должно получиться так:

    Создание Discord бота на Python Туториал, Python, Discord, Длиннопост

    в значении переменной "MAX_ROLES_PER_USER" указываем кол-во ролей которые может получить 1 юзер, значение "EXCROLES" оставляем пустым.

    сохраняем config и code в одну папку в которой нет ничего кроме этих файлов и она названа по английски:

    Создание Discord бота на Python Туториал, Python, Discord, Длиннопост

    Далее в консоли прописываем: "cd <путь к файлу>"

    "<метка тома диска на котором находится папка>"

    Создание Discord бота на Python Туториал, Python, Discord, Длиннопост

    вот так вот. Осталось поставить роль бота выше ролей которые вы будите выдавать. Иначе появится ошибка (Forbidden('403 Forbidden (error code: 50013): Missing Permissions')). Проверка прошла успешно!

    Спасибо за внимание!


    Программирование на python

    218 постов 7.5K подписчика

    Правила сообщества

    Публиковать могут пользователи с любым рейтингом. Однако!

    Приветствуется:

    • уважение к читателям и авторам

    • простота и информативность повествования

    • тег python2 или python3, если актуально

    • код публиковать в виде цитаты, либо ссылкой на специализированный сайт

    Не рекомендуется:

    • допускать оскорбления и провокации

    • распространять вредоносное ПО

    • просить решить вашу полноценную задачу за вас

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

    Зачем выдавать чужой код, за свой?
    автора кода - Хауди

    еще один конкурент "9 вите иташки"?

    Правильно пишется "наподобие".

    Хочу для себя изучить питон, что посоветуете? Смотрела курсы, не подошли. Как лучше изучать? Может, книга толковая есть?

    на первом этапе(python - V) выдало ошибку

    Traceback (most recent call last):

    NameError: name 'python' is not defined

    у меня выдаёт ошибку

    File "C:\Users\HP-PC\AppData\Local\Programs\Python\Python39\lib\site-packages\aiohttp\ connector.py ", line 938, in _wrap_create_connection


    Хочешь нарисовать свою карту для D&D? Тебе к нам!

    Хочешь нарисовать свою карту для D&D? Тебе к нам! Рисование, Dungeons & Dragons, Туториал, Набор, Discord, Длиннопост

    Добрый вечер постояльцам таверны и активны пользователям Пикабу!

    В недавнем опросе в вконтакте, постояльцы отметили что у них есть желание научиться рисовать карты для их приключений! Очень рад этому :)

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

    Что это такое?

    Данный пост - небольшая информация для дальнейшего рисования карт для D&D5e, ты же (Пикабушник) можешь присоединиться к нам и следить за будущими постами, а также принять участие в выборе первого туториала.

    Может быть это масштабный континент? Забытая пещера? Решай сам!

    Самый популярный запрос будет нарисован и разобран для обучения.

    Что нужно для этого?

    В группе Вконтакте не написано какие "инструменты" должны быть у художника (это будет в отдельном посте), но так как мы на Пикабу, то стоит все же рассказать.

    Инструменты:
    Листы Бумаги А4 или СкетчБук
    Простой карандаш
    Карандаш H
    Карандаш HB
    Карандаш 3B
    Ластик
    Стружилка
    Программы:
    Krita - покраска, добавление и создание своих токенов, эффекты и т.д.

    Ответы на вопросы

    - Да, это бесплатно

    - Как и где можно будет посмотреть туториал?

    - Сам туториал будет проходить по Discord. Дата и время проведения будет в группе Вконтакте.

    Также в группе будет выложена статья с этим же туториалом и на пикабу тоже :)

    - Зачем показывать туториал и там и там? Почему не сразу создать статью?

    - Первое. Появился вопрос или проблема? Спроси у картографа и получи решение!

    Второе. Атмосфера. Вместе с вами такие энтузиасты как вы!

    Я пытаюсь добавить Discord OAuth в мобильное приложение с помощью PKCE. Я могу успешно пройти аутентификацию с помощью DiscordAPI и получаю code обратно с сервера.

    Я попробовал несколько подходов к получению моего токена, но все они провалились.

    Я также попытался использовать объект StringContent , например так:

    Оба эти результата в Bad Request

    Попытка (2) с помощью RestSharp

    Дополнительная информация:

    Чтобы соответствовать PKCE, мне нужен code_verifier . Вот как я генерирую код. (Обратите внимание, я не пытаюсь использовать это как код авторизации.)

    Я передаю результат как code_challenge , получая свой код авторизации.

    Вот где я узнал, что PKCE был необходим.

    Обновление:

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

    2 ответа

    Вы делаете запрос на неправильный URL. Поток кода создается для предотвращения утечки клиентского токена. Поток выглядит следующим образом

    1. Клиент запрашивает код с сервера раздора
    2. Клиент отправляет этот код на ваш сервер
    3. Ваш сервер передает код на дискорд-сервер со своими секретами
    4. Сервер Discord отвечает обратно на настроенный redirect_uri, чтобы получить токен.

    Примечание: есть 2 перенаправления uri, 1, который разрешает код, и другой, который разрешает токен.

    Затем Discord ответит вашему redirect_uri коду и состоянию

    Примечание. Исходный запрос на Авторизацию не содержит вашего клиентского секрета, клиентский секрет используется только с вашего сервера. Таким образом, только сервер может запросить AuthTokens Примечание. В большинстве мест, поддерживающих oauth, необходимо настроить URL-адрес перенаправления с сервера.
    Примечание: состояние также будет возвращено с кодом, подтверждающим, что отправленное вами состояние является возвращенным.

    Возьмите возвращенный вам код (NhhvTDYsFcdgNLnnLijcl7Ku7bEEeee) и используйте запрос запроса токена, используя ваш оригинальный пример с правильным кодом:

    Обратите внимание, что при отправке запроса на конечную точку токена вы используете

    'Content-Type': 'application / x-www-form-urlencoded'

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

    Ну, после некоторого исследования я мог бы иметь представление о том, что происходит. Вы пытаетесь получить токен на основе созданного вами кода авторизации?

    Вы должны использовать этот код на этапе получения токена.

    Я не знаю, если это что-то меняет, но я считаю, что в соответствии с документацией нет такого параметра, как "scopes", это должен быть "scope".

    Читайте также: