Discord服务器添加bot后Slash-commands不显示如何解决
Discord机器人加入服务器后斜杠命令公屏不显示、私信正常的修复方案
- 检查邀请链接的Scope配置
加Bot到服务器时,OAuth2链接的scope必须同时勾选bot和applications.commands两个选项,缺少后者会导致服务器没有授权Bot注册斜杠命令,私信场景不受服务器授权限制因此可以正常使用。如果之前邀请时漏选,需要重新生成符合要求的邀请链接,重新给服务器授权。 - 确认命令注册的范围逻辑
如果你的斜杠命令是按*单服务器(Guild)模式注册的,仅会在开发时指定的测试服务器生效,新加入的服务器不会自动同步。可以将注册逻辑修改为全局(Global)*模式,或者在Bot触发on_guild_join(加入新服务器)事件时,自动触发当前服务器的命令同步逻辑。
注意:全局命令注册后Discord有最长1小时的缓存时间,刚注册后未显示属于正常情况,测试阶段建议优先使用单服务器注册模式,同步仅需1-2分钟即可生效。 - 核对服务器内的命令权限配置
进入服务器的【服务器设置】→【整合】页面,找到你的Bot条目,确认以下配置:- 对应斜杠命令的启用状态没有被关闭
- 可用角色没有做限制,或者你测试使用的账号角色在允许列表中
- 可用频道没有做限制,或者你测试使用的频道在允许列表中
同时确认Bot在服务器的角色权限中,被授予了使用斜杠命令、发送消息的基础权限。
- 排查库版本与冲突问题
如果你同时使用discord-interactions和discord.py两个库处理交互,避免两边的命令注册逻辑冲突,建议仅保留一个库负责命令注册和响应处理。另外确认你使用的discord.py版本为2.0及以上,老版本原生不支持斜杠命令,会导致注册失效。 - 检查命令的默认权限配置
注册命令时如果设置了default_permission=False参数,默认所有用户都无法查看和使用该命令,需要在服务器的整合设置中手动开启对应命令的访问权限,否则命令不会对普通用户显示。
内容的提问来源于stack exchange,提问作者m3r1v3
相关产品推荐
相关产品推荐

