Fix bug
This commit is contained in:
parent
692ac41410
commit
c756282328
@ -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]]**
|
@ -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.
|
||||||
|
@ -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
|
||||||
|
@ -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);
|
||||||
|
@ -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;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user