This commit is contained in:
Rubenlagus 2016-11-17 03:31:32 +01:00
parent 692ac41410
commit c756282328
5 changed files with 14 additions and 14 deletions

View File

@ -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]]**

View File

@ -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.

View File

@ -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

View File

@ -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);

View File

@ -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;
}