首页 > 解决方案 > 如何修复不和谐的 jda bot 垃圾邮件

问题描述

我正在开发Discord机器人,但是当我尝试向频道发送消息时,它不起作用。

我尝试使用该代码event.getChannel().sendMessage("Hello!").queue();但这一个垃圾邮件我的不和谐。

public void onGuildMessageReceived (GuildMessageReceivedEvent event){
    if(event.getChannel().getId().equalsIgnoreCase("607560497083973632")){
        event.getChannel().sendMessage("Hello!").queue();
    }
}

这就是发生的事情:https ://prntscr.com/oo6622

标签: discorddiscord-jda

解决方案


您会收到自己的消息。为了防止这种情况,您只需检查收到的消息是否来自当前用户。

@Override
public void onGuildMessageReceived(GuildMessageReceivedEvent event){
    if (event.getAuthor().equals(event.getJDA().getSelfUser())) return; // ignore own messages
    if (event.getChannel().getIdLong() == 607560497083973632L){ // use long for ids
        event.getChannel().sendMessage("Hello!").queue();
    }
}

推荐阅读