Когда я создаю объединенный URL-адрес с OAUTH2 URL GENERATOR, я даю своему боту разрешение «ADMINISTRATOR». Я не могу предоставить никакого другого разрешения, потому что ADMINISTRATOR должен дать боту все разрешения.
После присоединения мой бот должен проверить, существует ли канал шторки, и создать его, если нет. Есть проблема. Я получаю следующую ошибку:
[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)
Это похоже на ошибку, потому что, как я уже сказал, разрешение ADMINISTRATOR должно позволять боту выполнять практически все (кроме некоторой иерархии ролей и вещей владельца сервера).
У кого-нибудь есть идеи, как решить эту проблему?
// EDIT1:
Хорошо, я дал боту все разрешения, кроме ADMINISTRATOR через OAuth2, но результат в основном тот же. Бот просто не имеет разрешений, которые он должен иметь. У меня неправильное понимание того, как работают OAuth2 и генератор URL?