2016-05-02 18 views
1

私はボットをインラインモードで使用する必要があります。私はテレグラムAPIへのRESTfulな要求を処理するためにJavaのopensourceライブラリを使用しています。図書館はこのリンクhttps://github.com/pengrad/java-telegram-bot-apiにあります。私はinlineQuery.id()から"id_"+jInlineQueryResultArticleコンストラクタの最初のパラメータを編集し、今それが動作テレグラムのボット - インラインモード

String query = inlineQuery.query().trim().toLowerCase(); 
List<String> answerList = new LinkedList<String>(); 
answerList.add("first_answer"); 
answerList.add("second_answer"); 
InlineQueryResult[] resArray = new InlineQueryResult[answerList.size()]; 
for (int j = 0; j < resArray.length; j++)}{ 
    resArray[j] = new InlineQueryResultArticle(inlineQuery.id(), answerList.get(j), query); 
} 
bot.answerInlineQuery(inlineQuery.id(), resArray); 

が、私は、ランタイム

Exception in thread "main" retrofit.RetrofitError: 400 Bad Request 

でこの例外を持っている:私はこれを実行しようとしました。

+0

Botfatherを使用してトークンを作成する手順を完了しましたか?あなたのコードはそのトークンを使用していますか? https://core.telegram.org/bots#6-botfather – Roberg

+0

はい、これらの手順は完了です。 – chris

答えて

0

2.0.0バージョンのライブラリを使用してください。 レスポンスオブジェクトにエラーメッセージが返されました。 さらにAPIが変更されました

+0

は、私は、ライブラリの新しいバージョンを使用しています、ありがとう、私は応答の次の説明があります= bot.execute(新しいAnswerInlineQuery RESULT_ID_DUPLICATE' 私はBaseResponse応答 'と最後のコード行を置き換える: '不正な要求を(inlineQuery.id()、resArray)); ' – chris

+0

@chris' InlineQueryResultArticle'のように 'InlineQueryResultArticle(j、answerList.get(j)、query);のような一意のIDを使うべきです。 –

関連する問題