我最近创建了一个仅允许发送消息和读取消息历史记录的机器人。在我自己的服务器上,bot 似乎完美地工作,但是某个用户尝试在他自己的服务器上使用该 bot 并弹出错误 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

最佳答案

正如您所说, error code: 50013 意味着您无权执行该操作。
ATTACH_FILES 不是您必须拥有的唯一 permission,您可能还需要 SEND_MESSAGESVIEW_CHANNEL,因为它们是 "Implicit Permissions" ,请检查您是否也拥有它们。

关于python - discord.errors.Forbidden : 403 FORBIDDEN (error code: 50013): Missing Permissions,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/56822419/

10-11 04:18