Command raised an exception forbidden 403 forbidden error code 50013 missing permissions

I've recently created a bot which is only allowed to send messages and read message history. In my own servers, the bot seemed to work flawlessly, but a certain user tried using the bot on his own ...

I’ve recently created a bot which is only allowed to send messages and read message history. In my own servers, the bot seemed to work flawlessly, but a certain user tried using the bot on his own server and the error discord.errors.Forbidden: 403 FORBIDDEN (error code: 50013): Missing Permissions popped up.

await message.channel.send(file=discord.File(io.BytesIO(meme), filename="meme.png"))

The line above is what’s causing the error. I’m thinking that I need the ‘Attach Files’ permission, but for some reason it works without it on my testing servers.

Full traceback:

Traceback (most recent call last):
  File "/home/nemplayer/.local/lib/python3.7/site-packages/discord/client.py", line 270, in _run_event
    await coro(*args, **kwargs)
  File "bot/bot.py", line 78, in on_message
    await message.channel.send(file=discord.File(io.BytesIO(meme), filename="meme.png"))
  File "/home/nemplayer/.local/lib/python3.7/site-packages/discord/abc.py", line 806, in send
    content=content, tts=tts, embed=embed, nonce=nonce)
  File "/home/nemplayer/.local/lib/python3.7/site-packages/discord/http.py", line 218, in request
    raise Forbidden(r, data)
discord.errors.Forbidden: 403 FORBIDDEN (error code: 50013): Missing Permissions

У меня есть код:

intents = discord.Intents.all()
bot = commands.Bot(command_prefix = settings['prefix'], intents=intents)

@bot.event
async def on_member_join(member):
    await member.send(f"Thanks for Joining {member.guild.name}")
    role = discord.utils.get(member.guild.roles, id=123456)
    await member.add_roles(role)

И там, где я пытаюсь выдать роль, он выдает «discord.errors.Forbidden: 403 Forbidden (error code: 50013): Missing Permissions», хотя я разрешил ему абсолютно все (от администратора на сервере до строчки «intents = discord.Intents.all()»


  • Вопрос задан

    более года назад

  • 704 просмотра

смотря какую роль вы хотите выдать.
например, если бот имеет роль «Admin», со всеми правами (включая права администратора), он не сможет:
1) выдать кому-либо роль Admin, удалить у себя роль Admin.
2) выдать кому-либо роль, которая в списке ролей находится выше, чем Admin.

манипулировать абсолютно всеми ролями может только владелец сервера.

Пригласить эксперта

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

Ещё люди говорят, что проблема может быть если на сервере включена 2FA, в таком случае владельцу бота тоже стоит ее включить


  • Показать ещё
    Загружается…

09 февр. 2023, в 11:42

7000 руб./за проект

09 февр. 2023, в 11:23

1500 руб./за проект

09 февр. 2023, в 10:11

1500 руб./в час

Минуточку внимания

This issue was moved to a discussion.

You can continue the conversation there.

Go to discussion →

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and
privacy statement. We’ll occasionally send you account related emails.

Already on GitHub?
Sign in
to your account


Closed

ZargorNET opened this issue

Apr 1, 2020

· 7 comments

Comments

@ZargorNET

My idea is that upon getting a 50013 that we also get the name of the missing permission like
USE_EXTERNAL_EMOTES. With this in place, missing permissions handling would be much easier and less redundant code demanding.

Maybe this can be achieved by declaring the permission name in the string response, which comes along the code, in the next major API release.

muddyfish, Skillz4Killz, mr-tech, advaith1, th0mk, l7ssha, MoonlightCapital, Benricheson101, Kartchampion, queer, and 18 more reacted with thumbs up emoji

@MinnDevelopment

It would be strange to have it as a string since all other current uses of permissions are ints.

@ZargorNET

Then maybe we can return the permission in its number or in this shifted state like in OAuth2 if multiple permissions are missing

@MoonlightCapital

Yes please, it would make everyone’s life easier.

@night
night

changed the title
[Feature Request] Error Code: 50013 Specify which permission is missing

Error Code: 50013 Specify which permission is missing

May 26, 2020

@antoine-pous

I’m wondering how any company can’t think about it when publishing a public API. This is a basic :/

@Clemens-E

Agreeing with the commenter above, I don’t get how nobody came to the conclusion that this is a basic feature while writing the endpoints.
And yet, a year later, there is still is no indication that this will ever be a thing.

@Strikeeaglechase

This would be great for both debugging and for displaying helpful error messages to the users. I am aware that technically we could work it out client-side which permission is missing however it’s far far more reliable and easier to handle if discord provided the information directly.

@inkihh

@discord
discord

locked and limited conversation to collaborators

Jul 1, 2021

This issue was moved to a discussion.

You can continue the conversation there.

Go to discussion →

Содержание

  1. 403 Forbidden при попытке выдать роль в discord.py?
  2. Discord Бот ошибка
  3. Mikyc
  4. Samylov
  5. Using Discord with user account fails #972
  6. Comments
  7. Recently having issues with 403 forbidden and 50001 Missing access errors. #222
  8. Comments
  9. Expected Behavior
  10. Current Behavior
  11. Possible Solution
  12. Steps to Reproduce (for bugs)
  13. Context
  14. Your Environment
  15. Как исправить ошибку сервера 403 Forbidden
  16. Что означает ошибка 403 и почему она появляется
  17. Исправление ошибки сервера 403 Forbidden
  18. Проверка индексного файла
  19. Настройка прав доступа
  20. Отключение плагинов WordPress
  21. Читайте также
  22. Как решить проблему, если вы – пользователь

403 Forbidden при попытке выдать роль в discord.py?

У меня есть код:

И там, где я пытаюсь выдать роль, он выдает «discord.errors.Forbidden: 403 Forbidden (error code: 50013): Missing Permissions», хотя я разрешил ему абсолютно все (от администратора на сервере до строчки «intents = discord.Intents.all()»

  • Вопрос задан 16 янв. 2022
  • 652 просмотра

смотря какую роль вы хотите выдать.
например, если бот имеет роль «Admin», со всеми правами (включая права администратора), он не сможет:
1) выдать кому-либо роль Admin, удалить у себя роль Admin.
2) выдать кому-либо роль, которая в списке ролей находится выше, чем Admin.

манипулировать абсолютно всеми ролями может только владелец сервера.

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

Ещё люди говорят, что проблема может быть если на сервере включена 2FA, в таком случае владельцу бота тоже стоит ее включить

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

Источник

Discord Бот ошибка

Mikyc

Новичок

Ignoring exception in command kick:
Traceback (most recent call last):
File «C:UsersAndreyDesktopпроектыdiscord-botvenvlibsite-packagesdiscordextcommandscore.py», line 85, in wrapped
ret = await coro(*args, **kwargs)
File «C:UsersAndreyDesktopПроектыdiscord-botdiscord-bot.py», line 19, in kick
await member.kick(reason = reason)
File «C:UsersAndreyDesktopпроектыdiscord-botvenvlibsite-packagesdiscordmember.py», line 524, in kick
await self.guild.kick(self, reason=reason)
File «C:UsersAndreyDesktopпроектыdiscord-botvenvlibsite-packagesdiscordguild.py», line 1886, in kick
await self._state.http.kick(user.id, self.id, reason=reason)
File «C:UsersAndreyDesktopпроектыdiscord-botvenvlibsite-packagesdiscordhttp.py», line 241, in request
raise Forbidden(r, data)
discord.errors.Forbidden: 403 Forbidden (error code: 50013): Missing Permissions

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
File «C:UsersAndreyDesktopпроектыdiscord-botvenvlibsite-packagesdiscordextcommandsbot.py», line 902, in invoke
await ctx.command.invoke(ctx)
File «C:UsersAndreyDesktopпроектыdiscord-botvenvlibsite-packagesdiscordextcommandscore.py», line 864, in invoke
await injected(*ctx.args, **ctx.kwargs)
File «C:UsersAndreyDesktopпроектыdiscord-botvenvlibsite-packagesdiscordextcommandscore.py», line 94, in wrapped
raise CommandInvokeError(exc) from exc
discord.ext.commands.errors.CommandInvokeError: Command raised an exception: Forbidden: 403 Forbidden (error code: 50013): Missing Permissions

Samylov

Новичок

Ignoring exception in command kick:
Traceback (most recent call last):
File «C:UsersAndreyDesktopпроектыdiscord-botvenvlibsite-packagesdiscordextcommandscore.py», line 85, in wrapped
ret = await coro(*args, **kwargs)
File «C:UsersAndreyDesktopПроектыdiscord-botdiscord-bot.py», line 19, in kick
await member.kick(reason = reason)
File «C:UsersAndreyDesktopпроектыdiscord-botvenvlibsite-packagesdiscordmember.py», line 524, in kick
await self.guild.kick(self, reason=reason)
File «C:UsersAndreyDesktopпроектыdiscord-botvenvlibsite-packagesdiscordguild.py», line 1886, in kick
await self._state.http.kick(user.id, self.id, reason=reason)
File «C:UsersAndreyDesktopпроектыdiscord-botvenvlibsite-packagesdiscordhttp.py», line 241, in request
raise Forbidden(r, data)
discord.errors.Forbidden: 403 Forbidden (error code: 50013): Missing Permissions

The above exception was the direct cause of the following exception:

Источник

Using Discord with user account fails #972

When the token supplied to Discord is for a user account, Matterbridge fails with the following error message:

Here is the config used, with secret values substituted:

The text was updated successfully, but these errors were encountered:

Try using a bot account, the support in matterbridge for «User accounts» is as-is, see also bwmarrin/discordgo#446

@42wim why this issue is closed, I have checked the link you provided, no one say how to fix it. thanks.

@42wim Thanks, I just following this guide, but still not work.

ok, thanks, sorry, I do not enable SERVER MEMBERS INTENT , thank you sir.

I’m getting this same error code using a webhookurl . It was working until this week. Specifically I’m seeing

[0001] ERROR discord: [Connect:bridge/discord/discord.go:162] Error obtaining server members: HTTP 403 Forbidden,

The wiki at https://github.com/42wim/matterbridge/wiki/Section-Discord-%28basic%29 still suggests using a webhook; in particular it says you need to use a webhook to use username spoofing (which seems like what I want!). But the other page https://github.com/42wim/matterbridge/wiki/Discord-bot-setup was edited this week with «Added missing information, seems like a recent change on discords side.». Think that’s related? Did Discord tighten up their permissions around webhooks? Is there something I’m missing in their UI to grant extra permissions to webhooks?

Anyway I followed the revised instructions and replaced my webhookurl with this config:

but this is telling me

I don’t know what I missed. Can you share more details with what you did, @wsdjeg ?

Источник

Recently having issues with 403 forbidden and 50001 Missing access errors. #222

Expected Behavior

The bot should read and receive commands and fulfill any requests coming in

Current Behavior

Bot doesn’t even start up. Gets 403 errors talking about 50001 missing access. After a while of this it just quits.

Possible Solution

I would suspect some of the changes discord implemented recently have broken the script. Discord has changed bots/api access in last month or so

Steps to Reproduce (for bugs)

Try connecting to discord with poshbot? I don’t know specifically. This only started happening in last week. Prior to that everything was swimming.

Context

Your Environment

  • Module version used: .11
  • Operating System and PowerShell version: Win10 and 5.1 I believe

The text was updated successfully, but these errors were encountered:

@Kickbut101 Thanks for reporting this. You mentioned Discord changed things in the API. Can you point me to what changed?

@Kickbut101 Thanks for reporting this. You mentioned Discord changed things in the API. Can you point me to what changed?

Maybe the gateway? I’m just spitballing

EDIT I thought maybe I was just being stupid or had broken something else. So I just built a fresh .14 version today, made a new config file, and sent it off, and got an almost identical error. I’ll list the end of the log file here;

I’m sorry to have wasted your time. I think I found it. And maybe this is worth posting a PSA now for discord. But it seems in the last week or so (I had my last «successful» commands on 10-4-20) Discord has changed some access for bots.

They now require you to check specific gateway permissions through the bot admin interface on their developer portal.

These were not checked by default, and upon checking them it seems to have allowed my bot to function again.

That’s good to know @Kickbut101. Thanks. I’ll do some testing on my end to repro and update the docs.

Источник

Как исправить ошибку сервера 403 Forbidden

Все мы, путешествуя по просторам интернета, натыкаемся на различные ошибки при загрузке сайтов. Одна из них, кстати, достаточно часто встречается – я говорю об ошибке сервера 403 Forbidden Error. Сегодня я рассмотрю причины ее возникновения и способы устранения со стороны владельца сайта и его пользователя.

Что означает ошибка 403 и почему она появляется

Ошибка сервера 403 Forbidden означает ограничение или отсутствие доступа к материалу на странице, которую вы пытаетесь загрузить. Причин ее появления может быть несколько, и вот некоторые из них:

  • Формат индексного файла неверен.
  • Некорректно выставленные права на папку/файл.
  • Файлы были загружены в неправильную папку.

Исправление ошибки сервера 403 Forbidden

Чтобы исправить ошибку сервера 403 Forbidden, обязательно нужен доступ к панели управления вашего хостинга. Все описанные ниже шаги применимы к любой CMS, но примеры будут показаны на основе WordPress.

Проверка индексного файла

Сначала я проверю, правильно ли назван индексный файл. Все символы в его имени должны быть в нижнем регистре. Если хотя бы один символ набран заглавной буквой, возникнет ошибка 403 Forbidden. Но это больше относится к ОС Linux, которой небезразличен регистр.

Еще не стоит забывать, что индексный файл может быть нескольких форматов, в зависимости от конфигураций сайта: index.html, index.htm, или index.php. Кроме того, он должен храниться в папке public_html вашего сайта. Файл может затеряться в другой директории только в том случае, если вы переносили свой сайт.

Любое изменение в папке или файле фиксируется. Чтобы узнать, не стала ли ошибка итогом деятельности злоумышленников, просто проверьте графу «Дата изменения».

Настройка прав доступа

Ошибка 403 Forbidden появляется еще тогда, когда для папки, в которой расположен искомый файл, неправильно установлены права доступа. На все директории должны быть установлены права на владельца. Но есть другие две категории:

  • группы пользователей, в числе которых есть и владелец;
  • остальные, которые заходят на ваш сайт.

На директории можно устанавливать право на чтение, запись и исполнение.

Так, по умолчанию на все папки должно быть право исполнения для владельца. Изменить их можно через панель управления TimeWeb. Для начала я зайду в раздел «Файловый менеджер», перейду к нужной папке и выделю ее. Далее жму на пункт меню «Файл», «Права доступа».

Откроется новое окно, где я могу отрегулировать права как для владельца, так и для всех остальных.

Отключение плагинов WordPress

Если даже после всех вышеперечисленных действий ошибка не исчезла, вполне допустимо, что влияние на работу сайта оказано со стороны некоторых плагинов WordPress. Быть может они повреждены или несовместимы с конфигурациями вашего сайта.

Для решения подобной проблемы необходимо просто отключить их. Но сначала надо найти папку с плагинами. Открываю папку своего сайта, перехожу в раздел «wp-content» и нахожу в нем директорию «plugins». Переименовываю папку – выделяю ее, жму на меню «Файл» и выбираю соответствующий пункт. Название можно дать вот такое: «plugins-disable». Данное действие отключит все установленные плагины.

Теперь нужно попробовать вновь загрузить страницу. Если проблема исчезла, значит, какой-то конкретный плагин отвечает за появление ошибки с кодом 403.

Но что делать, если у вас плагин не один, а какой из них влияет на работу сайта – неизвестно? Тогда можно вернуть все как было и провести подобные действия с папками для определенных плагинов. Таким образом, они будут отключаться по отдельности. И при этом каждый раз надо перезагружать страницу и смотреть, как работает сайт. Как только «виновник торжества» найден, следует переустановить его, удалить или найти альтернативу.

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

Как решить проблему, если вы – пользователь

Выше я рассмотрела способы устранения ошибки 403 Forbidden для владельцев сайта. Теперь же разберу методы исправления в случаях с пользователем.

  • Сначала надо убедиться, что проблема заключается именно в вашем устройстве. Внимательно проверьте, правильно ли вы ввели URL сайта. Может, в нем есть лишние символы. Или, наоборот, какие-то символы отсутствуют.
  • Попробуйте загрузить страницу с другого устройства. Если на нем все будет нормально, значит, проблема кроется именно в используемом вами девайсе. Если нет – надо перейти к последнему шагу.
  • Еще хороший вариант – немного подождать и обновить страницу. Делается это либо кликом по иконке возле адресной строки браузера, либо нажатием на комбинацию Ctrl + F5. Можно и без Ctrl, на ваше усмотрение.
  • Если ничего из вышеперечисленного не помогло, надо очистить кэш и cookies. Провести такую процедуру можно через настройки браузера. Для этого необходимо открыть историю просмотров, чтобы через нее перейти к инструменту очистки. Эту же утилиту часто можно найти в настройках, в разделе «Конфиденциальность и безопасность». В новом окне нужно отметить пункты с кэшем и cookies и нажать на кнопку для старта очистки.
  • Ошибка 403 Forbidden возникает и тогда, когда пользователь пытается открыть страницу, для доступа к которой сначала надо осуществить вход в систему. Если у вас есть профиль, просто войдите в него и попробуйте вновь загрузить нужную страницу.
  • Если вы заходите со смартфона, попробуйте отключить функцию экономии трафика в браузере. Она находится в настройках, в мобильном Google Chrome под нее отведен отдельный раздел.
  • Последний шаг – подождать. Когда ни один способ не помогает, значит, неполадки возникли именно на сайте. Возможно, его владелец уже ищет способы решения проблемы и приступает к их исполнению, но это может занять какое-то время. Пользователям остается только дождаться, когда все работы будут завершены.

Еще одна допустимая причина появления ошибки сервера 403 – доступ к сайту запрещен для определенного региона или страны, в которой вы находитесь. Бывает и такое, что сайт доступен для использования только в одной стране. Если вы используете VPN, попробуйте отключить его и перезагрузите страницу. Вдруг получится все исправить.

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

Источник

Ignoring exception in command kick:
Traceback (most recent call last):
File «C:UsersAndreyDesktopпроектыdiscord-botvenvlibsite-packagesdiscordextcommandscore.py», line 85, in wrapped
ret = await coro(*args, **kwargs)
File «C:UsersAndreyDesktopПроектыdiscord-botdiscord-bot.py», line 19, in kick
await member.kick(reason = reason)
File «C:UsersAndreyDesktopпроектыdiscord-botvenvlibsite-packagesdiscordmember.py», line 524, in kick
await self.guild.kick(self, reason=reason)
File «C:UsersAndreyDesktopпроектыdiscord-botvenvlibsite-packagesdiscordguild.py», line 1886, in kick
await self._state.http.kick(user.id, self.id, reason=reason)
File «C:UsersAndreyDesktopпроектыdiscord-botvenvlibsite-packagesdiscordhttp.py», line 241, in request
raise Forbidden(r, data)
discord.errors.Forbidden: 403 Forbidden (error code: 50013): Missing Permissions

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
File «C:UsersAndreyDesktopпроектыdiscord-botvenvlibsite-packagesdiscordextcommandsbot.py», line 902, in invoke
await ctx.command.invoke(ctx)
File «C:UsersAndreyDesktopпроектыdiscord-botvenvlibsite-packagesdiscordextcommandscore.py», line 864, in invoke
await injected(*ctx.args, **ctx.kwargs)
File «C:UsersAndreyDesktopпроектыdiscord-botvenvlibsite-packagesdiscordextcommandscore.py», line 94, in wrapped
raise CommandInvokeError(exc) from exc
discord.ext.commands.errors.CommandInvokeError: Command raised an exception: Forbidden: 403 Forbidden (error code: 50013): Missing Permissions

У меня проблема при попытке предоставить роли администраторам сервера. Для обычных разрешений он работает нормально, но если это роль администратора сервера или какая-то другая роль с разрешениями, даже если я являюсь владельцем, возникает следующая ошибка:

discord.ext.commands.errors.CommandInvokeError: Command raised an exception: Forbidden: 403 Forbidden (error code: 50013): Missing Permissions 

И код, который я использую:

@client.command()
@commands.has_permissions(manage_messages = True)
async def grant(ctx , user : discord.Member , role : discord.Role):
  await user.add_roles(role)
  await ctx.send(f"Our Comrade {user.name} has received the {role.name} role!")

Любая помощь была бы признательна!

1 ответ

403 Forbidden (error code: 50013): Missing Permissions появляется не потому, что у вас нет разрешений, а потому, что бот не имеет разрешений. Попробуйте переместить верхнюю роль бота вверх по иерархии ролей и дать ей все необходимые разрешения. В этом случае он должен быть выше роли администратора и иметь разрешение Manage Roles.


2

Supreme1707
5 Апр 2021 в 05:37

Здравствуйте, подскажите вот есть код:

Кликните здесь для просмотра всего текста

Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
import discord
from discord.ext import commands
 
client = commands.Bot(command_prefix='/')
 
@client.event
async def on_ready():
    print('Бот Включен')
#Команда /clear
@client.command(pass_context = True)
@commands.has_permissions( administrator = True)
async def clear(ctx, amount = 1):
    await ctx.channel.purge(limit = amount)
#Кик
@client.command(pass_context = True)
@commands.has_permissions(administrator = True)
async def kick(ctx, member: discord.Member, *, reason = "Не указана"):
    await ctx.channel.purge(limit = 2)
    await member.kick(reason = reason)
 
 
client.run('SECRET')

И вот когда пишу ему команду /kick в Discord выходит ошибка:

Кликните здесь для просмотра всего текста

Ignoring exception in command kick:
Traceback (most recent call last):
File «C:UsersAndreyDesktopпроектыdiscord-botvenvlibsite-packagesdiscordextcommandscore.py», line 85, in wrapped
ret = await coro(*args, **kwargs)
File «C:UsersAndreyDesktopПроектыdiscord-botdiscord-bot.py», line 19, in kick
await member.kick(reason = reason)
File «C:UsersAndreyDesktopпроектыdiscord-botvenvlibsite-packagesdiscordmember.py», line 524, in kick
await self.guild.kick(self, reason=reason)
File «C:UsersAndreyDesktopпроектыdiscord-botvenvlibsite-packagesdiscordguild.py», line 1886, in kick
await self._state.http.kick(user.id, self.id, reason=reason)
File «C:UsersAndreyDesktopпроектыdiscord-botvenvlibsite-packagesdiscordhttp.py», line 241, in request
raise Forbidden(r, data)
discord.errors.Forbidden: 403 Forbidden (error code: 50013): Missing Permissions

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
File «C:UsersAndreyDesktopпроектыdiscord-botvenvlibsite-packagesdiscordextcommandsbot.py», line 902, in invoke
await ctx.command.invoke(ctx)
File «C:UsersAndreyDesktopпроектыdiscord-botvenvlibsite-packagesdiscordextcommandscore.py», line 864, in invoke
await injected(*ctx.args, **ctx.kwargs)
File «C:UsersAndreyDesktopпроектыdiscord-botvenvlibsite-packagesdiscordextcommandscore.py», line 94, in wrapped
raise CommandInvokeError(exc) from exc
discord.ext.commands.errors.CommandInvokeError: Command raised an exception: Forbidden: 403 Forbidden (error code: 50013): Missing Permissions

В чём дело?

__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь

Понравилась статья? Поделить с друзьями:
  • Command line options syntax error type command for help
  • Command line option syntax error type command for help как исправить
  • Command line option syntax error type command for help windows 7 что делать
  • Command line option syntax error type command for help directx
  • Command line error too short switch