如何将图片发送到 Discord 频道
How to send picture into Discord Channel
我需要将图片(截图)发送到 Discord 频道。我已经成功开发了文本发送到通道,但我不知道如何发送屏幕。
这是我的部分代码:
// connection to the Channel
TextChannel channel = api.getTextChannelById(this.channelId);
if (channel != null) {
channel.sendMessage(pMessage).queue();
}
// capture the whole screen
BufferedImage screencapture = new Robot().createScreenCapture( new Rectangle(Toolkit.getDefaultToolkit().getScreenSize()) );
// Save as JPEG - not necessary
File file = new File("screencapture.jpg");
ImageIO.write(screencapture, "jpg", file);
// CODE for sendPicture (screencapture to the Channel) HERE!!!
// code here
// code here
知道怎么做吗?
根据 JDA docs,要将文件发送到频道,您应该使用适当的 sendFile RestAction。
您可以使用多种不同的发送方法,其中一些允许您将消息与文件一起发送。
例如,使用 File 对象发送文件:
channel.sendFile(new File("path/to/file")).queue();
或者,直接使用 InputStream(在您的情况下 - 避免写入磁盘)。
ByteArrayOutputStream stream = new ByteArrayOutputStream();
ImageIO.write(screencapture, "jpg", stream);
channel.sendFile(stream.toByteArray(), "fileName.jpg").queue();
我需要将图片(截图)发送到 Discord 频道。我已经成功开发了文本发送到通道,但我不知道如何发送屏幕。
这是我的部分代码:
// connection to the Channel
TextChannel channel = api.getTextChannelById(this.channelId);
if (channel != null) {
channel.sendMessage(pMessage).queue();
}
// capture the whole screen
BufferedImage screencapture = new Robot().createScreenCapture( new Rectangle(Toolkit.getDefaultToolkit().getScreenSize()) );
// Save as JPEG - not necessary
File file = new File("screencapture.jpg");
ImageIO.write(screencapture, "jpg", file);
// CODE for sendPicture (screencapture to the Channel) HERE!!!
// code here
// code here
知道怎么做吗?
根据 JDA docs,要将文件发送到频道,您应该使用适当的 sendFile RestAction。
您可以使用多种不同的发送方法,其中一些允许您将消息与文件一起发送。
例如,使用 File 对象发送文件:
channel.sendFile(new File("path/to/file")).queue();
或者,直接使用 InputStream(在您的情况下 - 避免写入磁盘)。
ByteArrayOutputStream stream = new ByteArrayOutputStream();
ImageIO.write(screencapture, "jpg", stream);
channel.sendFile(stream.toByteArray(), "fileName.jpg").queue();