Repl.it上Discord Bot无法运行,报403 Missing Access错误求助
解决Discord Bot在Repl.it运行时的403权限错误
问题描述
在Repl.it上重启Discord Bot后,每次都会触发以下报错,更换Token也无法解决:
Traceback (most recent call last): File "main.py", line 308, in <module> client.run(token) File "/home/runner/Kurumi-Tokisaki-Bot-TRK/venv/lib/python3.8/site-packages/discord/client.py", line 828, in run asyncio.run(runner()) File "/nix/store/2vm88xw7513h9pyjyafw32cps51b0ia1-python3-3.8.12/lib/python3.8/asyncio/runners.py", line 44, in run return loop.run_until_complete(main) File "/nix/store/2vm88xw7513h9pyjyafw32cps51b0ia1-python3-3.8.12/lib/python3.8/asyncio/base_events.py", line 616, in run_until_complete return future.result() File "/home/runner/Kurumi-Tokisaki-Bot-TRK/venv/lib/python3.8/site-packages/discord/client.py", line 817, in runner await self.start(token, reconnect=reconnect) File "/home/runner/Kurumi-Tokisaki-Bot-TRK/venv/lib/python3.8/site-packages/discord/client.py", line 745, in start await self.login(token) File "/home/runner/Kurumi-Tokisaki-Bot-TRK/venv/lib/python3.8/site-packages/discord/client.py", line 589, in login await self.setup_hook() File "main.py", line 35, in setup_hook await self.tree.sync(guild = discord.Object(id = 1009907559391567912)) File "/home/runner/Kurumi-Tokisaki-Bot-TRK/venv/lib/python3.8/site-packages/discord/app_commands/tree.py", line 1070, in sync data = await self._http.bulk_upsert_guild_commands(self.client.application_id, guild.id, payload=payload) File "/home/runner/Kurumi-Tokisaki-Bot-TRK/venv/lib/python3.8/site-packages/discord/http.py", line 738, in request raise Forbidden(response, data) discord.errors.Forbidden: 403 Forbidden (error code: 50001): Missing Access
报错指向setup_hook中同步特定guild命令的步骤,说明Bot没有权限在目标服务器同步应用程序命令。
解决方案
确认Bot在目标服务器的权限
- 打开Discord目标服务器的「设置」→「整合」
- 找到你的Bot,点击「编辑」按钮
- 在权限列表中,确保勾选了「应用程序命令」选项
- 若未勾选,保存后重新邀请Bot到服务器(邀请链接必须包含
applications.commands权限范围)
重新生成正确的邀请链接
前往Discord开发者平台:- 进入你的Bot应用页面,选择「OAuth2」→「URL生成」
- 在「范围」中勾选
bot和applications.commands - 在「Bot权限」中勾选你需要的基础权限(如发送消息等)
- 复制生成的链接,在浏览器打开,重新邀请Bot到目标服务器
检查Bot是否仍在服务器中
确认Bot没有被管理员移出目标服务器,若已移除,使用上述正确链接重新邀请。临时测试定位问题
注释掉main.py中setup_hook里的await self.tree.sync(guild=...)代码,重新运行Bot。如果Bot能正常登录,说明问题确实出在命令同步的权限配置上,再针对性解决权限问题。
内容的提问来源于stack exchange,提问作者Phoenix
相关产品推荐
相关产品推荐

