如何通过 JDA 向 Discord 上的某人发送 DM(直接消息)
How to send a DM (Direct Message) to someone on Discord via JDA
我想让机器人直接向某人发送消息,但我不知道该怎么做。
event.getChannel().sendMessage("Hello World").queue();
我想知道我是否可以将频道更改为 DM 或以任何其他方式发送 DM,我希望它直接发送给用户或者只有他才能看到。
您永远不必猜测如何使用库 - 这就是文档的用途。任何值得一提的库都有文档,列出了您需要担心的每个 class、方法和 属性。
快速 google 搜索 "discord-jda docs" 将我们带到 javadoc:https://ci.dv8tion.net/job/JDA/javadoc/index.html
您想向用户发送消息,对吗?因此,让我们使用搜索栏查找 User
。类型下的第一个结果是 net.dv8tion.jda.api.entities.User
。我们现在 https://ci.dv8tion.net/job/JDA/javadoc/net/dv8tion/jda/api/entities/User.html
如果您想知道如何对用户做某事,我们将了解每个用户拥有的方法。有两个立即引起了我的注意:User.hasPrivateChannel()
和 User.openPrivateChannel()
。我们将点击第二个,因为它看起来很相关。
瞧瞧,文档中有示例用法!我将在下面引用它:
// Send message without response handling
public void sendMessage(User user, String content) {
user.openPrivateChannel()
.flatMap(channel -> channel.sendMessage(content))
.queue();
}
这看起来很简单。所以你正在寻找的基本用法(假设 event
是 MessageReceivedEvent
)是这样的:
event.getAuthor().openPrivateChannel().flatMap(channel -> channel.sendMessage("hello")).queue();
我想让机器人直接向某人发送消息,但我不知道该怎么做。
event.getChannel().sendMessage("Hello World").queue();
我想知道我是否可以将频道更改为 DM 或以任何其他方式发送 DM,我希望它直接发送给用户或者只有他才能看到。
您永远不必猜测如何使用库 - 这就是文档的用途。任何值得一提的库都有文档,列出了您需要担心的每个 class、方法和 属性。
快速 google 搜索 "discord-jda docs" 将我们带到 javadoc:https://ci.dv8tion.net/job/JDA/javadoc/index.html
您想向用户发送消息,对吗?因此,让我们使用搜索栏查找 User
。类型下的第一个结果是 net.dv8tion.jda.api.entities.User
。我们现在 https://ci.dv8tion.net/job/JDA/javadoc/net/dv8tion/jda/api/entities/User.html
如果您想知道如何对用户做某事,我们将了解每个用户拥有的方法。有两个立即引起了我的注意:User.hasPrivateChannel()
和 User.openPrivateChannel()
。我们将点击第二个,因为它看起来很相关。
瞧瞧,文档中有示例用法!我将在下面引用它:
// Send message without response handling public void sendMessage(User user, String content) { user.openPrivateChannel() .flatMap(channel -> channel.sendMessage(content)) .queue(); }
这看起来很简单。所以你正在寻找的基本用法(假设 event
是 MessageReceivedEvent
)是这样的:
event.getAuthor().openPrivateChannel().flatMap(channel -> channel.sendMessage("hello")).queue();