【发布时间】:2023-03-21 16:28:01
【问题描述】:
我编写了代码,一开始它可以工作,但是当我输入提到机器人的命令“$info”时,它会显示下面提到的错误。请问我需要帮助
测试机器人类 这是令牌的类,这段代码可以正常工作并使机器人在线没有任何问题,但问题出在第二类
package testbot1;
import javax.security.auth.login.LoginException;
import net.dv8tion.jda.api.JDA;
import net.dv8tion.jda.api.JDABuilder;
public class Testbot1 {
public static JDA jda;
public static String prefix = "$";
public static void main(String[] args) throws LoginException {
JDA jda = JDABuilder.createDefault("The Token Here").build();
jda.addEventListener(new commands());
}
}
commands classThis是当我输入discord $info时应该出现的消息的类,但它给了我以下问题,并告诉我问题出在这一行
event.getChannel().sendMessage(info.build()).queue();
package testbot1;
import net.dv8tion.jda.api.EmbedBuilder;
import net.dv8tion.jda.api.events.message.guild.GuildMessageReceivedEvent;
import net.dv8tion.jda.api.hooks.ListenerAdapter;
public class commands extends ListenerAdapter {
public void onGuildMessageReceived(GuildMessageReceivedEvent event) {
String[] args = event.getMessage().getContentRaw().split("\\s+");
if (args[0].equalsIgnoreCase(Testbot1.prefix + "info")) {
EmbedBuilder info = new EmbedBuilder();
info.setTitle("ElhadedyBot");
info.setDescription("Currently, this bot is for testing only");
info.setColor(0xf45642);
info.setFooter("Created by Youssefeka116", event.getMember().getUser().getAvatarUrl());
event.getChannel().sendTyping().queue();
event.getChannel().sendMessage(info.build()).queue();
info.clear();
}
}
}
这是我输入 Discord this command "$info" 时出现的错误
[JDA MainWS-ReadThread] ERROR JDA - One of the EventListeners had an uncaught exception
net.dv8tion.jda.api.exceptions.InsufficientPermissionException: Cannot perform action due to a lack of Permission. Missing permission: MESSAGE_EMBED_LINKS
at net.dv8tion.jda.internal.entities.AbstractChannelImpl.checkPermission(AbstractChannelImpl.java:329)
at net.dv8tion.jda.internal.entities.AbstractChannelImpl.checkPermission(AbstractChannelImpl.java:320)
at net.dv8tion.jda.internal.entities.TextChannelImpl.sendMessage(TextChannelImpl.java:358)
at testbot1.commands.onGuildMessageReceived(commands.java:19)
at net.dv8tion.jda.api.hooks.ListenerAdapter.onEvent(ListenerAdapter.java:445)
at net.dv8tion.jda.api.hooks.InterfacedEventManager.handle(InterfacedEventManager.java:96)
at net.dv8tion.jda.internal.hooks.EventManagerProxy.handleInternally(EventManagerProxy.java:88)
at net.dv8tion.jda.internal.hooks.EventManagerProxy.handle(EventManagerProxy.java:70)
at net.dv8tion.jda.internal.JDAImpl.handleEvent(JDAImpl.java:151)
at net.dv8tion.jda.internal.handle.MessageCreateHandler.handleInternally(MessageCreateHandler.java:97)
at net.dv8tion.jda.internal.handle.SocketHandler.handle(SocketHandler.java:36)
at net.dv8tion.jda.internal.requests.WebSocketClient.onDispatch(WebSocketClient.java:952)
at net.dv8tion.jda.internal.requests.WebSocketClient.onEvent(WebSocketClient.java:839)
at net.dv8tion.jda.internal.requests.WebSocketClient.handleEvent(WebSocketClient.java:817)
at net.dv8tion.jda.internal.requests.WebSocketClient.onBinaryMessage(WebSocketClient.java:990)
at com.neovisionaries.ws.client.ListenerManager.callOnBinaryMessage(ListenerManager.java:385)
at com.neovisionaries.ws.client.ReadingThread.callOnBinaryMessage(ReadingThread.java:276)
at com.neovisionaries.ws.client.ReadingThread.handleBinaryFrame(ReadingThread.java:996)
at com.neovisionaries.ws.client.ReadingThread.handleFrame(ReadingThread.java:755)
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)
【问题讨论】:
标签: java api discord-jda