discord.errors.Forbidden:403 FORBIDDEN(错误代码:50013):缺少权限

问题描述 投票:0回答:4

我最近创建了一个机器人,它只允许发送消息和读取消息历史记录。在我自己的服务器中,该机器人似乎运行完美,但某个用户尝试在自己的服务器上使用该机器人,并弹出错误

discord.errors.Forbidden: 403 FORBIDDEN (error code: 50013): Missing Permissions

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

上面的行是导致错误的原因。我认为我需要“附加文件”权限,但由于某种原因,在我的测试服务器上没有它它也可以工作。

完整追溯:

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
python python-3.x discord.py
4个回答
33
投票

我的问题是添加的角色比机器人的角色具有更高的优先级(即使有权限) - 因此它在角色列表中的位置更高。只需将其拖得更高就可以了!


8
投票

正如您所说,错误代码:50013意味着您没有执行该操作的权限。

ATTACH_FILES
不是您必须拥有的唯一 权限,您可能还需要
SEND_MESSAGES
VIEW_CHANNEL
,因为它们是 “隐式权限”,请检查您是否也拥有它们。


0
投票

我在做项目时也遇到过这类问题。要解决此问题,只需导航到 Discord 开发人员门户,选择 OAuth2,选择 URL 生成器,将机器人权限设置为 管理员,复制链接,然后选择您的练习服务器,现在就可以访问在开发您自己的机器人时使用所有功能。Discord Developer Portal


0
投票

您需要将机器人的原始角色位置移至您想要管理的所有其他角色之上。

© www.soinside.com 2019 - 2024. All rights reserved.