Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/379.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 具有权限管理员的Discord bot缺少权限管理\u通道_Java_Discord_Discord Jda - Fatal编程技术网

Java 具有权限管理员的Discord bot缺少权限管理\u通道

Java 具有权限管理员的Discord bot缺少权限管理\u通道,java,discord,discord-jda,Java,Discord,Discord Jda,当我使用OAuth2URL生成器创建连接url时,我给我的bot“管理员”权限。我不能提供任何其他权限,因为管理员应该授予bot所有权限 加入我的机器人后,应该检查是否存在窗帘通道,如果不存在,则创建它。这就是问题所在。我得到以下错误: [JDA MainWS-ReadThread] ERROR net.dv8tion.jda.core.JDA - One of the EventListeners had an uncaught exception net.dv8ti

当我使用OAuth2URL生成器创建连接url时,我给我的bot“管理员”权限。我不能提供任何其他权限,因为管理员应该授予bot所有权限

加入我的机器人后,应该检查是否存在窗帘通道,如果不存在,则创建它。这就是问题所在。我得到以下错误:

[JDA MainWS-ReadThread] ERROR net.dv8tion.jda.core.JDA - One of the             
EventListeners had an uncaught exception
net.dv8tion.jda.core.exceptions.InsufficientPermissionException: Cannot 
perform action due to a lack of Permission. Missing permission: MANAGE_CHANNEL
at net.dv8tion.jda.core.managers.GuildController.checkPermission(GuildController.java:2247)
at net.dv8tion.jda.core.managers.GuildController.createTextChannel(GuildController.java:1762)
at listeners.selfJoinListener.onGuildJoin(selfJoinListener.java:156)
at net.dv8tion.jda.core.hooks.ListenerAdapter.onEvent(ListenerAdapter.java:513)
at net.dv8tion.jda.core.hooks.InterfacedEventManager.handle(InterfacedEventManager.java:84)
at net.dv8tion.jda.core.handle.GuildSetupNode.completeSetup(GuildSetupNode.java:381)
at net.dv8tion.jda.core.handle.GuildSetupNode.handleMemberChunk(GuildSetupNode.java:284)
at net.dv8tion.jda.core.handle.GuildSetupNode.ensureMembers(GuildSetupNode.java:410)
at net.dv8tion.jda.core.handle.GuildSetupNode.handleCreate(GuildSetupNode.java:243)
at net.dv8tion.jda.core.handle.GuildSetupController.onCreate(GuildSetupController.java:185)
at net.dv8tion.jda.core.handle.GuildCreateHandler.handleInternally(GuildCreateHandler.java:40)
at net.dv8tion.jda.core.handle.SocketHandler.handle(SocketHandler.java:37)
at net.dv8tion.jda.core.requests.WebSocketClient.onDispatch(WebSocketClient.java:868)
at net.dv8tion.jda.core.requests.WebSocketClient.onEvent(WebSocketClient.java:766)
at net.dv8tion.jda.core.requests.WebSocketClient.handleEvent(WebSocketClient.java:745)
at net.dv8tion.jda.core.requests.WebSocketClient.onBinaryMessage(WebSocketClient.java:903)
at com.neovisionaries.ws.client.ListenerManager.callOnBinaryMessage(ListenerManager.java:368)
at com.neovisionaries.ws.client.ReadingThread.callOnBinaryMessage(ReadingThread.java:270)
at com.neovisionaries.ws.client.ReadingThread.handleBinaryFrame(ReadingThread.java:990)
at com.neovisionaries.ws.client.ReadingThread.handleFrame(ReadingThread.java:749)
at com.neovisionaries.ws.client.ReadingThread.main(ReadingThread.java:108)
at com.neovisionaries.ws.client.ReadingThread.runMain(ReadingThread.java:64)
at com.neovisionaries.ws.client.WebSocketThread.run(WebSocketThread.java:45)
这看起来像一个bug,因为正如我已经说过的,权限管理员应该允许bot基本上完成所有事情(除了一些角色层次结构和服务器所有者的事情)

有人知道如何解决这个问题吗

//编辑1:
好的,我通过OAuth2为bot提供了除管理员之外的所有权限,但结果基本相同。机器人只是没有应有的权限。我是否对OAuth2和url生成器的工作方式有错误的理解?

机器人的权限是通过Discord管理的角色添加的。不幸的是,此角色是在启动加入事件后添加的,因此权限尚未准备就绪

您需要监听的不是加入事件,而是
GuildMemberRoleAddEvent
。 该角色应具有应用程序的名称,并具有
isManaged()
返回true

更新: Discord解决了上述问题,现在应该可以正常工作了。上述角色现在在加入公会时出现,而不是以后添加