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. 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. 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. 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]]** **[[How to update to version 2.4.1|How-To-Update#2.4.1]]**

View File

@ -4,6 +4,7 @@
```java ```java
ApiContextInitializer.init(); 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): 3. **Deprecated** (will be removed in next version):
* `org.telegram.telegrambots.bots.BotOptions`. Use `org.telegram.telegrambots.bots.DefaultBotOptions` instead. * `org.telegram.telegrambots.bots.BotOptions`. Use `org.telegram.telegrambots.bots.DefaultBotOptions` instead.
* `getPersonal` from `AnswerInlineQuery`. Use `isPersonal` instead. * `getPersonal` from `AnswerInlineQuery`. Use `isPersonal` instead.

View File

@ -1,7 +1,7 @@
package org.telegram.telegrambots.updateshandlers; package org.telegram.telegrambots.updateshandlers;
import org.json.JSONObject;
import org.telegram.telegrambots.api.methods.BotApiMethod; import org.telegram.telegrambots.api.methods.BotApiMethod;
import org.telegram.telegrambots.exceptions.TelegramApiRequestException;
import java.io.Serializable; import java.io.Serializable;
@ -15,16 +15,16 @@ public interface SentCallback<T extends Serializable> {
/** /**
* Called when the request is successful * Called when the request is successful
* @param method Method executed * @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 * Called when the request fails
* @param method Method executed * @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 * 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.impl.client.HttpClientBuilder;
import org.apache.http.message.BasicNameValuePair; import org.apache.http.message.BasicNameValuePair;
import org.apache.http.util.EntityUtils; import org.apache.http.util.EntityUtils;
import org.json.JSONObject;
import org.telegram.telegrambots.ApiConstants; import org.telegram.telegrambots.ApiConstants;
import org.telegram.telegrambots.api.methods.BotApiMethod; import org.telegram.telegrambots.api.methods.BotApiMethod;
import org.telegram.telegrambots.api.methods.send.SendAudio; import org.telegram.telegrambots.api.methods.send.SendAudio;
@ -643,12 +642,11 @@ public abstract class DefaultAbsSender extends AbsSender{
HttpEntity ht = response.getEntity(); HttpEntity ht = response.getEntity();
BufferedHttpEntity buf = new BufferedHttpEntity(ht); BufferedHttpEntity buf = new BufferedHttpEntity(ht);
String responseContent = EntityUtils.toString(buf, StandardCharsets.UTF_8); String responseContent = EntityUtils.toString(buf, StandardCharsets.UTF_8);
try {
JSONObject jsonObject = new JSONObject(responseContent); callback.onResult(method, method.deserializeResponse(responseContent));
if (!jsonObject.getBoolean(ApiConstants.RESPONSE_FIELD_OK)) { } catch (TelegramApiRequestException e) {
callback.onError(method, jsonObject); callback.onError(method, e);
} }
callback.onResult(method, jsonObject);
} }
} catch (IOException | TelegramApiValidationException e) { } catch (IOException | TelegramApiValidationException e) {
callback.onException(method, 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> * <a href="https://core.telegram.org/bots/api#setwebhook">webhook</a>
* @date 14 of January of 2016 * @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; private final DefaultBotOptions botOptions;
public TelegramWebhookBot() { public TelegramWebhookBot() {
@ -37,7 +37,7 @@ public abstract class TelegramWebhookBot extends AbsSender implements WebhookBot
} }
public TelegramWebhookBot(DefaultBotOptions options) { public TelegramWebhookBot(DefaultBotOptions options) {
super(); super(options);
this.botOptions = options; this.botOptions = options;
} }