如何使用 JDA 将带有消息的文件发送到 Discord?
How to send file with message to Discord with JDA?
我正在使用 JDA 库创建我的 discord 机器人,我遇到了一个问题:为了发送带有文件的消息,我应该使用现有的消息:
RestAction<Message> sendFile(File file, Message message)
RestAction<Message> sendFile(File file, String fileName, Message message)
RestAction<Message> sendFile(InputStream data, String fileName, Message message)
没有使用简单字符串消息发送文件的实现。因此,当我尝试发送文件并向其传递消息时,我收到了重复的消息。
所以问题是:如何在不复制邮件的情况下创建带有附件的Message
?
我在发布文件后通过消息编辑解决了这个问题。
sendFile(file, null).queue(message -> {
message.editMessage("Message").queue()
})
正确的方法是用一个MessageBuilder
格式化构建一个Message
.
Message message = new MessageBuilder().append("My message").build();
textChannel.sendFile(new File("my-file.txt"), message).queue();
在 JDA 中,Message
对象不一定已发送。
您可以像这样一次性发送带有附件的消息:
//channel is a MessageChannel object or similar
channel.sendMessage("message").addFile(new File("path/to/file")).queue();
我正在使用 JDA 库创建我的 discord 机器人,我遇到了一个问题:为了发送带有文件的消息,我应该使用现有的消息:
RestAction<Message> sendFile(File file, Message message)
RestAction<Message> sendFile(File file, String fileName, Message message)
RestAction<Message> sendFile(InputStream data, String fileName, Message message)
没有使用简单字符串消息发送文件的实现。因此,当我尝试发送文件并向其传递消息时,我收到了重复的消息。
所以问题是:如何在不复制邮件的情况下创建带有附件的Message
?
我在发布文件后通过消息编辑解决了这个问题。
sendFile(file, null).queue(message -> {
message.editMessage("Message").queue()
})
正确的方法是用一个MessageBuilder
格式化构建一个Message
.
Message message = new MessageBuilder().append("My message").build();
textChannel.sendFile(new File("my-file.txt"), message).queue();
在 JDA 中,Message
对象不一定已发送。
您可以像这样一次性发送带有附件的消息:
//channel is a MessageChannel object or similar
channel.sendMessage("message").addFile(new File("path/to/file")).queue();