发送消息时不调用收到的 JDA 消息

时间:2020-12-21 16:38:40

标签: java maven discord-jda

我开始遇到 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);
                }
            }
        }

0 个答案:

没有答案