Java 如何从用户ID获取用户

Java 如何从用户ID获取用户,java,discord,Java,Discord,我的discord机器人中有一个商店,允许你用硬币购买物品,这个物品会导致机器人给我发信息,但每次它试图给我发信息时都会出错,另一个问题是如果其他公会有我的机器人,它将无法找到我,我需要一个替代品 最理想的方法是:让用户使用自己的ID,而无需帮会的要求 guild.getMemberById("348136128932610058").getUser().openPrivateChannel().queue(schannel -> schannel.sendMessag

我的discord机器人中有一个商店,允许你用硬币购买物品,这个物品会导致机器人给我发信息,但每次它试图给我发信息时都会出错,另一个问题是如果其他公会有我的机器人,它将无法找到我,我需要一个替代品

最理想的方法是:让用户使用自己的ID,而无需帮会的要求

guild.getMemberById("348136128932610058").getUser().openPrivateChannel().queue(schannel -> schannel.sendMessage(user.getName() + " just bought a strange fragment (feature)").queue());                      
任何帮助都将不胜感激。

您只需使用:

guild.getJDA().openPrivateChannelById(“348136128932610058”)
.flatMap(schannel->schannel.sendMessage(user.getName()+“刚买了一个奇怪的片段(功能)”)
.queue();
该频道包括具有以下功能的用户

或者,您可以使用相同的方式查找用户

java.lang.NullPointerException
at checken.chen.App.onMessageReceived(App.java:152)
at net.dv8tion.jda.api.hooks.ListenerAdapter.onEvent(ListenerAdapter.java:428)
at net.dv8tion.jda.api.hooks.InterfacedEventManager.handle(InterfacedEventManager.java:96)
at net.dv8tion.jda.internal.hooks.EventManagerProxy.handleInternally(EventManagerProxy.java:82)
at net.dv8tion.jda.internal.hooks.EventManagerProxy.handle(EventManagerProxy.java:69)
at net.dv8tion.jda.internal.JDAImpl.handleEvent(JDAImpl.java:152)
at net.dv8tion.jda.internal.handle.MessageCreateHandler.handleInternally(MessageCreateHandler.java:122)
at net.dv8tion.jda.internal.handle.SocketHandler.handle(SocketHandler.java:36)
at net.dv8tion.jda.internal.requests.WebSocketClient.onDispatch(WebSocketClient.java:954)
at net.dv8tion.jda.internal.requests.WebSocketClient.onEvent(WebSocketClient.java:841)
at net.dv8tion.jda.internal.requests.WebSocketClient.handleEvent(WebSocketClient.java:819)
at net.dv8tion.jda.internal.requests.WebSocketClient.onBinaryMessage(WebSocketClient.java:992)
at com.neovisionaries.ws.client.ListenerManager.callOnBinaryMessage(ListenerManager.java:385)
at com.neovisionaries.ws.client.ReadingThread.callOnBinaryMessage(ReadingThread.java:276)
at com.neovisionaries.ws.client.ReadingThread.handleBinaryFrame(ReadingThread.java:996)
at com.neovisionaries.ws.client.ReadingThread.handleFrame(ReadingThread.java:755)
at com.neovisionaries.ws.client.ReadingThread.main(ReadingThread.java:108)
at com.neovisionaries.ws.client.ReadingThread.runMain(ReadingThread.java:64)
at com.neovisionaries.ws.client.WebSocketThread.run(WebSocketThread.java:45)