Fix bug
This commit is contained in:
parent
692ac41410
commit
c756282328
@ -5,6 +5,7 @@
|
||||
4. Added extra validation to methods before performing requests.
|
||||
5. BotOptions has been renamed ot DefaultBotOptions. It allows now to set number of threads for async methods execution and the complete `RequestConfig` for customization purpose.
|
||||
6. Added convenient method for `setChatId` using just a `Long` value instead of an String.
|
||||
7. Moved to MIT license
|
||||
7. In `SentCallback` method `onError` changed second parameter to `TelegramApiRequestException` and `onResult` now receives the deserialized answer (of type `T`) instead of a `JSONObject` as second parameter
|
||||
8. Moved to MIT license
|
||||
|
||||
**[[How to update to version 2.4.1|How-To-Update#2.4.1]]**
|
@ -4,6 +4,7 @@
|
||||
```java
|
||||
ApiContextInitializer.init();
|
||||
```
|
||||
3. In `SentCallback`, update parameter types of `onResult` and `onError`. Inside those two method, you don't need to deserialize anything now, it comes already done.
|
||||
3. **Deprecated** (will be removed in next version):
|
||||
* `org.telegram.telegrambots.bots.BotOptions`. Use `org.telegram.telegrambots.bots.DefaultBotOptions` instead.
|
||||
* `getPersonal` from `AnswerInlineQuery`. Use `isPersonal` instead.
|
||||
|
@ -1,7 +1,7 @@
|
||||
package org.telegram.telegrambots.updateshandlers;
|
||||
|
||||
import org.json.JSONObject;
|
||||
import org.telegram.telegrambots.api.methods.BotApiMethod;
|
||||
import org.telegram.telegrambots.exceptions.TelegramApiRequestException;
|
||||
|
||||
import java.io.Serializable;
|
||||
|
||||
@ -15,16 +15,16 @@ public interface SentCallback<T extends Serializable> {
|
||||
/**
|
||||
* Called when the request is successful
|
||||
* @param method Method executed
|
||||
* @param jsonObject Answer from Telegram server
|
||||
* @param response Answer from Telegram server
|
||||
*/
|
||||
void onResult(BotApiMethod<T> method, JSONObject jsonObject);
|
||||
void onResult(BotApiMethod<T> method, T response);
|
||||
|
||||
/**
|
||||
* Called when the request fails
|
||||
* @param method Method executed
|
||||
* @param jsonObject Answer from Telegram server (contains error information)
|
||||
* @param apiException Answer from Telegram server (contains error information)
|
||||
*/
|
||||
void onError(BotApiMethod<T> method, JSONObject jsonObject);
|
||||
void onError(BotApiMethod<T> method, TelegramApiRequestException apiException);
|
||||
|
||||
/**
|
||||
* Called when the http request throw an exception
|
||||
|
@ -18,7 +18,6 @@ import org.apache.http.impl.client.CloseableHttpClient;
|
||||
import org.apache.http.impl.client.HttpClientBuilder;
|
||||
import org.apache.http.message.BasicNameValuePair;
|
||||
import org.apache.http.util.EntityUtils;
|
||||
import org.json.JSONObject;
|
||||
import org.telegram.telegrambots.ApiConstants;
|
||||
import org.telegram.telegrambots.api.methods.BotApiMethod;
|
||||
import org.telegram.telegrambots.api.methods.send.SendAudio;
|
||||
@ -643,12 +642,11 @@ public abstract class DefaultAbsSender extends AbsSender{
|
||||
HttpEntity ht = response.getEntity();
|
||||
BufferedHttpEntity buf = new BufferedHttpEntity(ht);
|
||||
String responseContent = EntityUtils.toString(buf, StandardCharsets.UTF_8);
|
||||
|
||||
JSONObject jsonObject = new JSONObject(responseContent);
|
||||
if (!jsonObject.getBoolean(ApiConstants.RESPONSE_FIELD_OK)) {
|
||||
callback.onError(method, jsonObject);
|
||||
try {
|
||||
callback.onResult(method, method.deserializeResponse(responseContent));
|
||||
} catch (TelegramApiRequestException e) {
|
||||
callback.onError(method, e);
|
||||
}
|
||||
callback.onResult(method, jsonObject);
|
||||
}
|
||||
} catch (IOException | TelegramApiValidationException e) {
|
||||
callback.onException(method, e);
|
||||
|
@ -29,7 +29,7 @@ import java.nio.charset.StandardCharsets;
|
||||
* <a href="https://core.telegram.org/bots/api#setwebhook">webhook</a>
|
||||
* @date 14 of January of 2016
|
||||
*/
|
||||
public abstract class TelegramWebhookBot extends AbsSender implements WebhookBot {
|
||||
public abstract class TelegramWebhookBot extends DefaultAbsSender implements WebhookBot {
|
||||
private final DefaultBotOptions botOptions;
|
||||
|
||||
public TelegramWebhookBot() {
|
||||
@ -37,7 +37,7 @@ public abstract class TelegramWebhookBot extends AbsSender implements WebhookBot
|
||||
}
|
||||
|
||||
public TelegramWebhookBot(DefaultBotOptions options) {
|
||||
super();
|
||||
super(options);
|
||||
this.botOptions = options;
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user