我正在尝试制作一个简单的 Discord Bot,但它不起作用
I'm trying to make a simple Discord Bot, but it doesn't work
我正在尝试在 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”并用其余代码进行响应,但问题是,虽然 bot 确实在线,但当我在 discord 服务器中发送 -login 时它没有做任何事情,也不dms。启动时也不会在事件中发生错误。另外,我有一个 JDA (4.2.1) 的 depricated 版本,因为我不知道如何使用新版本。
我尝试了很多小东西,但它们显示了 0 个结果,所以我不知道这里出了什么问题。
(是的,我已经在 Main 中初始化了 DiscordBot class,所以我认为这不是问题所在)
@dan1st 搞定了,我忘了在channel.sendMessage
的末尾加上.queue();
,所以感谢他们。
我正在尝试在 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”并用其余代码进行响应,但问题是,虽然 bot 确实在线,但当我在 discord 服务器中发送 -login 时它没有做任何事情,也不dms。启动时也不会在事件中发生错误。另外,我有一个 JDA (4.2.1) 的 depricated 版本,因为我不知道如何使用新版本。
我尝试了很多小东西,但它们显示了 0 个结果,所以我不知道这里出了什么问题。
(是的,我已经在 Main 中初始化了 DiscordBot class,所以我认为这不是问题所在)
@dan1st 搞定了,我忘了在channel.sendMessage
的末尾加上.queue();
,所以感谢他们。