如何修复此 JDA discord bot 错误?

Posted

技术标签:

【中文标题】如何修复此 JDA discord bot 错误?【英文标题】:How can I fix this JDA discord bot error? 【发布时间】:2021-10-14 05:44:54 【问题描述】:

我有一个 JDA 问题,当我尝试加载一个事件以检测 Discord 频道上的新消息时,它没有检测到它,但它检测到私人消息,我不知道如何解决这个问题。

public static void main(String[] args) 
    try 
        JDA jda = new JDABuilder(AccountType.BOT).setToken("---").build();
        System.out.println("asd");
        jda.addEventListener(new Core());
     catch (LoginException e) 
        e.printStackTrace();
    




 // this workds and detecting private messages
@Override
public void onMessageReceived(MessageReceivedEvent event) 

    if(event.getAuthor().isBot()) 
        return;
    

    System.out.println("asdasdasds");



        //no detect public channel messages
@Override
public void onGuildMessageReceived(GuildMessageReceivedEvent event) 

    if(event.getAuthor().isBot()) 
        return;
    

    System.out.println("bsbsbsbsb");


【问题讨论】:

这能回答你的问题吗? Discord Bot connected to Websocket but not finished loading 不,这篇文章是关于启动 JDA 机器人的,我遇到了事件问题。 您的问题与此相同,您没有正确启动它。请阅读该问题的答案。您可以通过与该问题相关联的问题看到这一点。 【参考方案1】:

您正在为 JDA 使用已弃用的构造函数。

您应该使用JDABuilder#createDefault() 或其他未弃用的方法之一来构建 JDA。

在此处查看完整文档:https://ci.dv8tion.net/job/JDA/javadoc/net/dv8tion/jda/api/JDABuilder.html

【讨论】:

以上是关于如何修复此 JDA discord bot 错误?的主要内容,如果未能解决你的问题,请参考以下文章

如何获取 Bot 消息 ID 并编辑消息 - Discord JDA Java

builder.build().getShardManager() 返回 null (JDA Discord Bot) |我如何调用 shardmanager?

Java Discord Bot (JDA) 检查是不是固定

Discord JDA Bot 在调用扩展类时抛出 NullPointerException

Discord bot 无法使用 JDA 在 java 中发送消息

Discord Bot 不会删除消息(带有 JDA API 的 Eclipse IDE Java)