我有一个运行良好的 Java 代码,它将本地图像从本地目录发送到 Telegram 用户:
public class TelegramBot extends TelegramLongPollingBot {
public TelegramBot(...) {
super(botToken);
this.botName = botName();
}
@Override
public String getBotUsername() {
return botName;
}
@Override
public void onUpdateReceived(Update update) {
var message = update.getMessage();
var incomingMessage = Objects.isNull(message.getText()) ? "" : message.getText().toLowerCase();
var user = message.getFrom();
var userId = user.getId();
execute(SendPhoto.builder()
.chatId(userId)
.photo(new InputFile(new java.io.File("/home/xxx/img/hello.png")))
.build());
}
}
马夫:
<dependency>
<groupId>org.telegram</groupId>
<artifactId>telegrambots</artifactId>
<version>${telegrambots.version}</version>
</dependency>
但是我需要将 JAR 文件中的图像作为输入流发送:
InputStream s = this.getClass().getResourceAsStream("/img/hello.png")
这有可能吗?不幸的是,示例、API 文档和 Google 没有帮助。
试试这个:
.photo(new InputFile(this.getClass().getResourceAsStream("/img/hello.png")))