我开始遇到 JDA 的问题,即在发送行会消息时,它不响应公会中的消息。 bot 具有接收频道消息的正确权限,但它不会通过运行该函数来响应。 这是我的类,其中包含所有运行的事件:(我有两个,一个用于机器人启动时,另一个用于获取消息并将它们记录到控制台。)
这是带有机器人事件的类:
import net.dv8tion.jda.api.events.ReadyEvent;
import net.dv8tion.jda.api.events.message.guild.GuildMessageReceivedEvent;
import net.dv8tion.jda.api.hooks.ListenerAdapter;
import org.jetbrains.annotations.NotNull;
public class BotEventsTwo extends ListenerAdapter {
@Override
public void onReady(@NotNull ReadyEvent event) {
System.out.println("Total guild count: " + event.getGuildTotalCount());
super.onReady(event);
}
@Override
public void onGuildMessageReceived(@NotNull GuildMessageReceivedEvent event) {
System.out.println("Event: " + event.getMessage().getContentDisplay());
}
}
对不起,我把所有东西都按得太远了,出于某种原因,当我不按标签时它会中断
这是 Main 类(机器人和其他东西的启动发生的地方):
import net.dv8tion.jda.api.JDA;
import net.dv8tion.jda.api.JDABuilder;
import net.dv8tion.jda.api.requests.GatewayIntent;
import net.dv8tion.jda.api.utils.cache.CacheFlag;
import storage.Instances;
import storage.StorageManager;
import java.util.EnumSet;
public class Starter {
public static void main(String[] args) throws Exception {
try {
JDA jda = JDABuilder.createDefault("token here", GatewayIntent.GUILD_VOICE_STATES)
.enableCache(EnumSet.of(
CacheFlag.VOICE_STATE
))
.addEventListeners(
new BotEvents(),
new BotEventsTwo()
)
.build();
jda.awaitReady();
new StorageManager();
Instances.bot = jda;
} catch (Exception e) {
e.printStackTrace();
System.exit(1);
}
}
}