Discord bot 无法使用 JDA 在 java 中发送消息
Posted
技术标签:
【中文标题】Discord bot 无法使用 JDA 在 java 中发送消息【英文标题】:Discord bot unable to send messages in java using JDA 【发布时间】:2021-06-17 23:06:35 【问题描述】:我的 discord bot 做了所有 neccaserry 的事情,所以在纸上它应该可以工作,但它没有
运行控制台/终端时打印如下:
SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".
SLF4J: Defaulting to no-operation (NOP) logger implementation SLF4J:
See http://www.slf4j.org/codes.html#StaticLoggerBinder for further
details. SLF4J: Failed to load class "org.slf4j.impl.StaticMDCBinder".
SLF4J: Defaulting to no-operation MDCAdapter implementation. SLF4J:
See http://www.slf4j.org/codes.html#no_static_mdc_binder for further
details. [main] INFO JDA - Login Successful! [JDA MainWS-WriteThread]
INFO WebSocketClient - Connected to WebSocket [JDA MainWS-ReadThread]
INFO JDA - Finished Loading!
下面的类 Main.java:
import net.dv8tion.jda.api.JDABuilder;
public class Main
public static void main(String[] args) throws Exception
try
net.dv8tion.jda.api.JDA api = JDABuilder.createDefault("********************").build();
api.addEventListener(new MyEventListener());
catch (Exception exc)
exc.printStackTrace();
下面的类 MyEventListener.java:
import net.dv8tion.jda.api.events.message.MessageReceivedEvent;
import net.dv8tion.jda.api.hooks.ListenerAdapter;
public class MyEventListener extends ListenerAdapter
public void onMessageReceived(MessageReceivedEvent event)
if (event.getAuthor().isBot()) return;
Message message = event.getMessage();
String content = message.getContentRaw();
MessageChannel channel = event.getChannel();
if (content.startsWith("?test"))
channel.sendMessage(":thinking:");
当我输入createDefault("********************").build();
时 *********** 是机器人令牌,它是正确的
【问题讨论】:
你didn't call queue(). 控制台警告与您的问题无关。 【参考方案1】:您没有在channel.sendMessage(":thinking:");
上调用queue()
,它返回MessageAction
(RestAction<Message>
的实现。有关更多信息,请参阅下面的链接。
更多细节:
Nothing happens when using x
RestAction in JDA
【讨论】:
以上是关于Discord bot 无法使用 JDA 在 java 中发送消息的主要内容,如果未能解决你的问题,请参考以下文章
Java Discord Bot (JDA) 检查是不是固定
Discord JDA Bot 在调用扩展类时抛出 NullPointerException
如何获取 Bot 消息 ID 并编辑消息 - Discord JDA Java
Discord Bot 不会删除消息(带有 JDA API 的 Eclipse IDE Java)
builder.build().getShardManager() 返回 null (JDA Discord Bot) |我如何调用 shardmanager?