我正在制作一个JDA(Java Discord API)程序,该程序需要检查机器人本身是否发送了消息。我该如何实现?我考虑过要检查消息发件人的用户ID是否等于机器人的用户ID,但是如何在程序中获取机器人本身的用户ID?
答案 0 :(得分:1)
如果使用MessageReceivedEvent,则可以使用以下方法检查发件人是否是漫游器:
event.getAuthor.isBot()
。
您可以通过访问JDA并如下调用getSelfUser()来访问机器人本身的用户,并牢记MessageReceivedEvent:
event.getJDA().getSelfUser()
在SelfUser上,您可以调用SelfUser#getId()
或SelfUser#getIdLong()
来访问ID。
示例代码
public class Listener extends ListenerAdapter {
@Override
public void onMessageReceived(MessageReceivedEvent event) {
boolean isBot = event.getAuthor().isBot() //Check if the Message Sender is a bot
long id = event.getJDA().getSelfUser().getIdLong() //the bot ID
}
}