我正在尝试制作一个简单的 Discord Bot,但它不起作用

时间:2021-07-29 14:19:31

标签: java discord bots minecraft discord-jda

我正在尝试在 Minecraft Mod 中制作一个简单的 Discord Bot,但它不起作用。我不得不说,我是在 Java 中编写不和谐机器人的新手,因为我更基于 javascript。

这是我做的:

DiscordBot.java

public class DiscordBot
{
    public JDA jda;
    
    private String token = "----";
    
    public static DiscordBot instance = new DiscordBot();
    
    @SuppressWarnings("deprecation")
    public void startDiscordBot() throws LoginException
    {
        jda = new JDABuilder()
                .setToken(token)
                .setStatus(OnlineStatus.DO_NOT_DISTURB)
                .addEventListeners(new DiscordEventListener())
                .build();
    }
}

DiscordEventListener.java

public class DiscordEventListener extends ListenerAdapter
{
    @Override
    public void onMessageReceived(MessageReceivedEvent event)
    {   
        if(event.getMessage().getContentRaw().equals("-login"))
        {
            EmbedBuilder eb1 = new EmbedBuilder();
            EmbedBuilder eb2 = new EmbedBuilder();
            
            event.getAuthor().openPrivateChannel().queue(channel -> {
                eb2.setColor(Color.MAGENTA);
                eb2.setTitle(placeholder-text);
                eb2.setDescription(placeholder-text);
                channel.sendMessage(eb2.build());
            });

DiscordEventListener 接受“-login”并用其余的代码进行响应,但问题是,虽然机器人确实上线了,但当我在不和谐服务器中发送 -login 时它不会做任何事情,也没有 dms。启动时也不会发生任何错误。另外,我有一个弃用的 JDA (4.2.1) 版本,因为我不明白如何使用新版本。

我尝试了很多小东西,但结果都为 0,所以我不知道这里出了什么问题。

(也是的,我已经在 Main 类中初始化了 DiscordBot 类,所以我认为这不是问题)

1 个答案:

答案 0 :(得分:1)

@dan1st 想通了,我忘记在 .queue(); 的末尾添加 channel.sendMessage,所以感谢他们。