Telegram ботов api: отправить VideoNote как результат встроенного запроса - PullRequest
0 голосов
/ 30 августа 2018

Используя Telegram Bots API, можно ответить на встроенный запрос с видео-заметкой.

Я использую эту библиотеку

Я пробовал следующее:

List<InlineQueryResult> results = new ArrayList<>();
InlineQueryResultCachedVideo cv = new InlineQueryResultCachedVideo();
                    cv.setVideoFileId(d.getFileId());
                    cv.setId("" + i);
                    cv.setTitle("\uD83C\uDFAC " + d.getName());
                    cv.setDescription("\uD83D\uDCCE " + d.getMimeType().getName());
                    cv.setCaption(d.getName());
                    results.add(cv);

AnswerInlineQuery answer = new AnswerInlineQuery();
    answer.setInlineQueryId(inlineQuery.getId());
    answer.setResults(results);

    try {
        bot.execute(answer);
    } catch (TelegramApiException e) {
        e.printStackTrace();
    }

Однако бросает:

org.telegram.telegrambots.exceptions.TelegramApiRequestException: Ошибка ответа на встроенный запрос: [400] Неверный запрос: тип файла не соответствует в org.telegram.telegrambots.api.methods.AnswerInlineQuery.deserializeResponse (AnswerInlineQuery.java:161) в org.telegram.telegrambots.api.methods.AnswerInlineQuery.deserializeResponse (AnswerInlineQuery.java:22) в org.telegram.telegrambots.bots.DefaultAbsSender.sendApiMethod (DefaultAbsSender.java:689) в org.telegram.telegrambots.bots.AbsSender.execute (AbsSender.java:53) в uz.tarv.file_saver.telegram.contorllers.InlineQueryController.handleUpdate (InlineQueryController.java:94) на uz.tarv.file_saver.telegram.MyBot.onUpdateReceived (MyBot.java:86) в java.util.ArrayList.forEach (ArrayList.java:1249) в org.telegram.telegrambots.generics.LongPollingBot.onUpdatesReceived (LongPollingBot.java:27) в org.telegram.telegrambots.updatesreceivers.DefaultBotSession $ HandlerThread.run (DefaultBotSession.java:309)

...