3

我正在使用JDA lib 创建我的不和谐机器人,但遇到了一个问题:为了发送带有文件的消息,我应该使用现有消息:

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不复制消息的情况下创建带有附件的文件?

4

3 回答 3

5

您可以像这样一次性发送带有附件的消息:

//channel is a MessageChannel object or similar
channel.sendMessage("message").addFile(new File("path/to/file")).queue();
于 2018-10-20T21:37:15.240 回答
2

正确的方法是使用 aMessageBuilder来格式化和构建一个Message.

Message message = new MessageBuilder().append("My message").build();
textChannel.sendFile(new File("my-file.txt"), message).queue();

在 JDA 中,Message不一定要发送对象。

于 2017-05-29T05:56:00.090 回答
0

我能够在发布文件后通过消息编辑来解决这个问题。

sendFile(file, null).queue(message -> {
    message.editMessage("Message").queue()
})
于 2017-05-28T16:57:11.087 回答