Browse Source

1. Support for channels

master
Rubenlagus 11 years ago
parent
commit
abe76e6068
  1. 964
      .idea/workspace.xml
  2. 18
      src/main/java/org/telegram/SenderHelper.java
  3. 10
      src/main/java/org/telegram/api/methods/ForwardMessage.java
  4. 6
      src/main/java/org/telegram/api/methods/SendAudio.java
  5. 10
      src/main/java/org/telegram/api/methods/SendChatAction.java
  6. 11
      src/main/java/org/telegram/api/methods/SendDocument.java
  7. 11
      src/main/java/org/telegram/api/methods/SendLocation.java
  8. 11
      src/main/java/org/telegram/api/methods/SendMessage.java
  9. 6
      src/main/java/org/telegram/api/methods/SendPhoto.java
  10. 6
      src/main/java/org/telegram/api/methods/SendSticker.java
  11. 6
      src/main/java/org/telegram/api/methods/SendVideo.java
  12. 2
      src/main/java/org/telegram/api/methods/SendVoice.java
  13. 88
      src/main/java/org/telegram/api/objects/Chat.java
  14. 26
      src/main/java/org/telegram/api/objects/Message.java
  15. 16
      src/main/java/org/telegram/updateshandlers/DirectionsHandlers.java
  16. 22
      src/main/java/org/telegram/updateshandlers/FilesHandlers.java
  17. 6
      src/main/java/org/telegram/updateshandlers/TransifexHandlers.java
  18. 80
      src/main/java/org/telegram/updateshandlers/WeatherHandlers.java

964
.idea/workspace.xml

File diff suppressed because it is too large

18
src/main/java/org/telegram/SenderHelper.java

@ -49,7 +49,11 @@ public class SenderHelper {
if (sendDocument.isNewDocument()) {
MultipartEntityBuilder builder = MultipartEntityBuilder.create();
builder.addTextBody(SendDocument.CHATID_FIELD, sendDocument.getChatId().toString());
if (sendDocument.getChatId() == null) {
builder.addTextBody(SendDocument.CHATID_FIELD, sendDocument.getChannelId());
} else {
builder.addTextBody(SendDocument.CHATID_FIELD, sendDocument.getChatId().toString());
}
builder.addBinaryBody(SendDocument.DOCUMENT_FIELD, new File(sendDocument.getDocument()), ContentType.APPLICATION_OCTET_STREAM, sendDocument.getDocumentName());
if (sendDocument.getReplayMarkup() != null) {
builder.addTextBody(SendDocument.REPLYMARKUP_FIELD, sendDocument.getReplayMarkup().toJson().toString());
@ -90,7 +94,7 @@ public class SenderHelper {
if (sendPhoto.isNewPhoto()) {
MultipartEntityBuilder builder = MultipartEntityBuilder.create();
builder.addTextBody(SendPhoto.CHATID_FIELD, sendPhoto.getChatId().toString());
builder.addTextBody(SendPhoto.CHATID_FIELD, sendPhoto.getChatId());
builder.addBinaryBody(SendPhoto.PHOTO_FIELD, new File(sendPhoto.getPhoto()), ContentType.APPLICATION_OCTET_STREAM, sendPhoto.getPhotoName());
if (sendPhoto.getReplayMarkup() != null) {
builder.addTextBody(SendPhoto.REPLYMARKUP_FIELD, sendPhoto.getReplayMarkup().toJson().toString());
@ -105,7 +109,7 @@ public class SenderHelper {
httppost.setEntity(multipart);
} else {
List<NameValuePair> nameValuePairs = new ArrayList<>();
nameValuePairs.add(new BasicNameValuePair(SendPhoto.CHATID_FIELD, sendPhoto.getChatId().toString()));
nameValuePairs.add(new BasicNameValuePair(SendPhoto.CHATID_FIELD, sendPhoto.getChatId()));
nameValuePairs.add(new BasicNameValuePair(SendPhoto.PHOTO_FIELD, sendPhoto.getPhoto()));
if (sendPhoto.getReplayMarkup() != null) {
nameValuePairs.add(new BasicNameValuePair(SendPhoto.REPLYMARKUP_FIELD, sendPhoto.getReplayMarkup().toString()));
@ -133,7 +137,7 @@ public class SenderHelper {
if (sendVideo.isNewVideo()) {
MultipartEntityBuilder builder = MultipartEntityBuilder.create();
builder.addTextBody(SendVideo.CHATID_FIELD, sendVideo.getChatId().toString());
builder.addTextBody(SendVideo.CHATID_FIELD, sendVideo.getChatId());
builder.addBinaryBody(SendVideo.VIDEO_FIELD, new File(sendVideo.getVideo()), ContentType.APPLICATION_OCTET_STREAM, sendVideo.getVideoName());
if (sendVideo.getReplayMarkup() != null) {
builder.addTextBody(SendVideo.REPLYMARKUP_FIELD, sendVideo.getReplayMarkup().toJson().toString());
@ -151,7 +155,7 @@ public class SenderHelper {
httppost.setEntity(multipart);
} else {
List<NameValuePair> nameValuePairs = new ArrayList<>();
nameValuePairs.add(new BasicNameValuePair(SendVideo.CHATID_FIELD, sendVideo.getChatId().toString()));
nameValuePairs.add(new BasicNameValuePair(SendVideo.CHATID_FIELD, sendVideo.getChatId()));
nameValuePairs.add(new BasicNameValuePair(SendVideo.VIDEO_FIELD, sendVideo.getVideo()));
if (sendVideo.getReplayMarkup() != null) {
nameValuePairs.add(new BasicNameValuePair(SendVideo.REPLYMARKUP_FIELD, sendVideo.getReplayMarkup().toString()));
@ -182,7 +186,7 @@ public class SenderHelper {
if (sendSticker.isNewSticker()) {
MultipartEntityBuilder builder = MultipartEntityBuilder.create();
builder.addTextBody(SendSticker.CHATID_FIELD, sendSticker.getChatId().toString());
builder.addTextBody(SendSticker.CHATID_FIELD, sendSticker.getChatId());
builder.addBinaryBody(SendSticker.STICKER_FIELD, new File(sendSticker.getSticker()), ContentType.APPLICATION_OCTET_STREAM, sendSticker.getStickerName());
if (sendSticker.getReplayMarkup() != null) {
builder.addTextBody(SendSticker.REPLYMARKUP_FIELD, sendSticker.getReplayMarkup().toJson().toString());
@ -194,7 +198,7 @@ public class SenderHelper {
httppost.setEntity(multipart);
} else {
List<NameValuePair> nameValuePairs = new ArrayList<>();
nameValuePairs.add(new BasicNameValuePair(SendSticker.CHATID_FIELD, sendSticker.getChatId().toString()));
nameValuePairs.add(new BasicNameValuePair(SendSticker.CHATID_FIELD, sendSticker.getChatId()));
nameValuePairs.add(new BasicNameValuePair(SendSticker.STICKER_FIELD, sendSticker.getSticker()));
if (sendSticker.getReplayMarkup() != null) {
nameValuePairs.add(new BasicNameValuePair(SendSticker.REPLYMARKUP_FIELD, sendSticker.getReplayMarkup().toString()));

10
src/main/java/org/telegram/api/methods/ForwardMessage.java

@ -18,7 +18,7 @@ public class ForwardMessage extends BotApiMethod<Message> {
public static final String PATH = "forwardmessage";
public static final String CHATID_FIELD = "chat_id";
private Integer chatId; ///< Unique identifier for the message recepient — User or GroupChat id
private String chatId; ///< Unique identifier for the chat to send the message to (or username for channels)
public static final String FROMCHATID_FIELD = "from_chat_id";
private Integer fromChatId; ///< Unique identifier for the chat where the original message was sent — User or GroupChat id
public static final String MESSAGEID_FIELD = "message_id";
@ -28,11 +28,11 @@ public class ForwardMessage extends BotApiMethod<Message> {
super();
}
public Integer getChatId() {
public String getChatId() {
return chatId;
}
public void setChatId(Integer chatId) {
public void setChatId(String chatId) {
this.chatId = chatId;
}
@ -56,7 +56,7 @@ public class ForwardMessage extends BotApiMethod<Message> {
public void serialize(JsonGenerator gen, SerializerProvider serializers) throws IOException {
gen.writeStartObject();
gen.writeStringField(METHOD_FIELD, PATH);
gen.writeNumberField(CHATID_FIELD, chatId);
gen.writeStringField(CHATID_FIELD, chatId);
gen.writeNumberField(FROMCHATID_FIELD, fromChatId);
gen.writeNumberField(MESSAGEID_FIELD, messageId);
gen.writeEndObject();
@ -67,7 +67,7 @@ public class ForwardMessage extends BotApiMethod<Message> {
public void serializeWithType(JsonGenerator gen, SerializerProvider serializers, TypeSerializer typeSer) throws IOException {
gen.writeStartObject();
gen.writeStringField(METHOD_FIELD, PATH);
gen.writeNumberField(CHATID_FIELD, chatId);
gen.writeStringField(CHATID_FIELD, chatId);
gen.writeNumberField(FROMCHATID_FIELD, fromChatId);
gen.writeNumberField(MESSAGEID_FIELD, messageId);
gen.writeEndObject();

6
src/main/java/org/telegram/api/methods/SendAudio.java

@ -21,7 +21,7 @@ public class SendAudio {
public static final String PATH = "sendaudio";
public static final String CHATID_FIELD = "chat_id";
private Integer chatId; ///< Unique identifier for the message recepient — User or GroupChat id
private String chatId; ///< Unique identifier for the chat to send the message to (or Username fro channels)
public static final String AUDIO_FIELD = "audio";
private String audio; ///< Audio file to send. file_id as String to resend an audio that is already on the Telegram servers
public static final String REPLYTOMESSAGEID_FIELD = "reply_to_message_id";
@ -39,11 +39,11 @@ public class SendAudio {
super();
}
public Integer getChatId() {
public String getChatId() {
return chatId;
}
public void setChatId(Integer chatId) {
public void setChatId(String chatId) {
this.chatId = chatId;
}

10
src/main/java/org/telegram/api/methods/SendChatAction.java

@ -20,7 +20,7 @@ public class SendChatAction extends BotApiMethod<Boolean>{
public static final String PATH = "sendChatAction";
public static final String CHATID_FIELD = "chat_id";
private Integer chatId; ///< Unique identifier for the message recepient — User or GroupChat id
private String chatId; ///< Unique identifier for the chat to send the message to (Or username for channels)
public static final String ACTION_FIELD = "action";
/**
* Type of action to broadcast.
@ -34,11 +34,11 @@ public class SendChatAction extends BotApiMethod<Boolean>{
*/
private String action;
public Integer getChatId() {
public String getChatId() {
return chatId;
}
public void setChatId(Integer chatId) {
public void setChatId(String chatId) {
this.chatId = chatId;
}
@ -74,7 +74,7 @@ public class SendChatAction extends BotApiMethod<Boolean>{
@Override
public void serialize(JsonGenerator gen, SerializerProvider serializers) throws IOException {
gen.writeStartObject();
gen.writeNumberField(CHATID_FIELD, chatId);
gen.writeStringField(CHATID_FIELD, chatId);
gen.writeStringField(ACTION_FIELD, action);
gen.writeEndObject();
}
@ -82,7 +82,7 @@ public class SendChatAction extends BotApiMethod<Boolean>{
@Override
public void serializeWithType(JsonGenerator gen, SerializerProvider serializers, TypeSerializer typeSer) throws IOException {
gen.writeStartObject();
gen.writeNumberField(CHATID_FIELD, chatId);
gen.writeStringField(CHATID_FIELD, chatId);
gen.writeStringField(ACTION_FIELD, action);
gen.writeEndObject();
}

11
src/main/java/org/telegram/api/methods/SendDocument.java

@ -12,7 +12,8 @@ public class SendDocument {
public static final String PATH = "senddocument";
public static final String CHATID_FIELD = "chat_id";
private Integer chatId; ///< Unique identifier for the message recepient — User or GroupChat id
private Integer chatId; ///< Unique identifier for the chat to send the message to
private String channelId; ///< Username for the channel to send the message to
public static final String DOCUMENT_FIELD = "document";
private String document; ///< File file to send. file_id as String to resend a file that is already on the Telegram servers
public static final String REPLYTOMESSAGEID_FIELD = "reply_to_message_id";
@ -35,6 +36,14 @@ public class SendDocument {
this.chatId = chatId;
}
public void setChatId(String channelId) {
this.channelId = channelId;
}
public String getChannelId() {
return channelId;
}
public String getDocument() {
return document;
}

11
src/main/java/org/telegram/api/methods/SendLocation.java

@ -19,7 +19,7 @@ public class SendLocation extends BotApiMethod<Message> {
public static final String PATH = "sendlocation";
public static final String CHATID_FIELD = "chat_id";
private Integer chatId; ///< Unique identifier for the message recepient — User or GroupChat id
private String chatId; ///< Unique identifier for the chat to send the message to (Or username for channels)
public static final String LATITUDE_FIELD = "latitude";
private Float latitude; ///< Latitude of location
public static final String LONGITUDE_FIELD = "longitude";
@ -29,11 +29,11 @@ public class SendLocation extends BotApiMethod<Message> {
public static final String REPLYMARKUP_FIELD = "reply_markup";
private ReplyKeyboard replayMarkup; ///< Optional. JSON-serialized object for a custom reply keyboard
public Integer getChatId() {
public String getChatId() {
return chatId;
}
public void setChatId(Integer chatId) {
public void setChatId(String chatId) {
this.chatId = chatId;
}
@ -85,7 +85,6 @@ public class SendLocation extends BotApiMethod<Message> {
@Override
public JSONObject toJson() {
JSONObject jsonObject = new JSONObject();
jsonObject.put(CHATID_FIELD, chatId);
jsonObject.put(LATITUDE_FIELD, latitude);
jsonObject.put(LONGITUDE_FIELD, longitude);
@ -103,7 +102,7 @@ public class SendLocation extends BotApiMethod<Message> {
public void serialize(JsonGenerator gen, SerializerProvider serializers) throws IOException {
gen.writeStartObject();
gen.writeStringField(METHOD_FIELD, PATH);
gen.writeNumberField(CHATID_FIELD, chatId);
gen.writeStringField(CHATID_FIELD, chatId);
gen.writeNumberField(LATITUDE_FIELD, latitude);
gen.writeNumberField(LONGITUDE_FIELD, longitude);
if (replayToMessageId != null) {
@ -121,7 +120,7 @@ public class SendLocation extends BotApiMethod<Message> {
public void serializeWithType(JsonGenerator gen, SerializerProvider serializers, TypeSerializer typeSer) throws IOException {
gen.writeStartObject();
gen.writeStringField(METHOD_FIELD, PATH);
gen.writeNumberField(CHATID_FIELD, chatId);
gen.writeStringField(CHATID_FIELD, chatId);
gen.writeNumberField(LATITUDE_FIELD, latitude);
gen.writeNumberField(LONGITUDE_FIELD, longitude);
if (replayToMessageId != null) {

11
src/main/java/org/telegram/api/methods/SendMessage.java

@ -19,7 +19,7 @@ public class SendMessage extends BotApiMethod<Message> {
public static final String PATH = "sendmessage";
public static final String CHATID_FIELD = "chat_id";
private Integer chatId; ///< Unique identifier for the message recepient — User or GroupChat id
private String chatId; ///< Unique identifier for the chat to send the message to (Or username for channels)
public static final String TEXT_FIELD = "text";
private String text; ///< Text of the message to be sent
public static final String PARSEMODE_FIELD = "parse_mode";
@ -35,11 +35,11 @@ public class SendMessage extends BotApiMethod<Message> {
super();
}
public Integer getChatId() {
public String getChatId() {
return chatId;
}
public void setChatId(Integer chatId) {
public void setChatId(String chatId) {
this.chatId = chatId;
}
@ -86,7 +86,6 @@ public class SendMessage extends BotApiMethod<Message> {
@Override
public JSONObject toJson() {
JSONObject jsonObject = new JSONObject();
jsonObject.put(CHATID_FIELD, chatId);
jsonObject.put(TEXT_FIELD, text);
if (parseMode != null) {
@ -122,7 +121,7 @@ public class SendMessage extends BotApiMethod<Message> {
public void serialize(JsonGenerator gen, SerializerProvider serializers) throws IOException {
gen.writeStartObject();
gen.writeStringField(METHOD_FIELD, PATH);
gen.writeNumberField(CHATID_FIELD, chatId);
gen.writeStringField(CHATID_FIELD, chatId);
gen.writeStringField(TEXT_FIELD, text);
if (parseMode != null) {
@ -146,7 +145,7 @@ public class SendMessage extends BotApiMethod<Message> {
public void serializeWithType(JsonGenerator gen, SerializerProvider serializers, TypeSerializer typeSer) throws IOException {
gen.writeStartObject();
gen.writeStringField(METHOD_FIELD, PATH);
gen.writeNumberField(CHATID_FIELD, chatId);
gen.writeStringField(CHATID_FIELD, chatId);
gen.writeStringField(TEXT_FIELD, text);
if (parseMode != null) {

6
src/main/java/org/telegram/api/methods/SendPhoto.java

@ -12,7 +12,7 @@ public class SendPhoto {
public static final String PATH = "sendphoto";
public static final String CHATID_FIELD = "chat_id";
private Integer chatId; ///< Unique identifier for the message recepient — User or GroupChat id
private String chatId; ///< Unique identifier for the chat to send the message to (Or username for channels)
public static final String PHOTO_FIELD = "photo";
private String photo; ///< Photo to send. file_id as String to resend a photo that is already on the Telegram servers
public static final String CAPTION_FIELD = "photo";
@ -30,11 +30,11 @@ public class SendPhoto {
super();
}
public Integer getChatId() {
public String getChatId() {
return chatId;
}
public void setChatId(Integer chatId) {
public void setChatId(String chatId) {
this.chatId = chatId;
}

6
src/main/java/org/telegram/api/methods/SendSticker.java

@ -12,7 +12,7 @@ public class SendSticker {
public static final String PATH = "sendsticker";
public static final String CHATID_FIELD = "chat_id";
private Integer chatId; ///< Unique identifier for the message recepient — User or GroupChat id
private String chatId; ///< Unique identifier for the chat to send the message to (Or username for channels)
public static final String STICKER_FIELD = "sticker";
private String sticker; ///< Sticker file to send. file_id as String to resend a sticker that is already on the Telegram servers
public static final String REPLYTOMESSAGEID_FIELD = "reply_to_message_id";
@ -27,11 +27,11 @@ public class SendSticker {
super();
}
public Integer getChatId() {
public String getChatId() {
return chatId;
}
public void setChatId(Integer chatId) {
public void setChatId(String chatId) {
this.chatId = chatId;
}

6
src/main/java/org/telegram/api/methods/SendVideo.java

@ -14,7 +14,7 @@ public class SendVideo {
public static final String PATH = "sendvideo";
public static final String CHATID_FIELD = "chat_id";
private Integer chatId; ///< Unique identifier for the message recepient — User or GroupChat id
private String chatId; ///< Unique identifier for the chat to send the message to (Or username for channels)
public static final String VIDEO_FIELD = "video";
private String video; ///< Video to send. file_id as String to resend a video that is already on the Telegram servers
public static final String DURATION_FIELD = "duration";
@ -33,11 +33,11 @@ public class SendVideo {
super();
}
public Integer getChatId() {
public String getChatId() {
return chatId;
}
public void setChatId(Integer chatId) {
public void setChatId(String chatId) {
this.chatId = chatId;
}

2
src/main/java/org/telegram/api/methods/SendVoice.java

@ -15,7 +15,7 @@ public class SendVoice {
public static final String PATH = "sendvoice";
public static final String CHATID_FIELD = "chat_id";
private Integer chatId; ///< Unique identifier for the message recepient — User or GroupChat id
private String chatId; ///< Unique identifier for the chat sent message to (Or username for channels)
public static final String AUDIO_FIELD = "audio";
private String audio; ///< Audio file to send. file_id as String to resend an audio that is already on the Telegram servers
public static final String REPLYTOMESSAGEID_FIELD = "reply_to_message_id";

88
src/main/java/org/telegram/api/objects/Chat.java

@ -16,22 +16,28 @@ import java.io.IOException;
* @date 24 of June of 2015
*/
public class Chat implements BotApiObject {
private static final String USERCHATTYPE = "private";
private static final String GROUPCHATTYPE = "group";
private static final String CHANNELCHATTYPE = "channel";
public static final String ID_FIELD = "id";
@JsonProperty(ID_FIELD)
private Integer id; ///< Unique identifier for this chat
private Integer id; ///< Unique identifier for this chat, not exciding 1e13 by absolute value
public static final String TYPE_FIELD = "type";
@JsonProperty(TYPE_FIELD)
private String type; ///< Type of the chat, one of “private”, “group” or “channel”
public static final String TITLE_FIELD = "title";
@JsonProperty(TITLE_FIELD)
private String title; ///< Group name
private String title; ///< Optional. Title of the chat, only for channels and group chat
public static final String FIRSTNAME_FIELD = "first_name";
@JsonProperty(FIRSTNAME_FIELD)
private String firstName; ///< User‘s or bot’s first name
private String firstName; ///< Optional. Username of the chat, only for private chats and channels if available
public static final String LASTNAME_FIELD = "last_name";
@JsonProperty(LASTNAME_FIELD)
private String lastName; ///< Optional. User‘s or bot’s last name
private String lastName; ///< Optional. Interlocutor's first name for private chats
public static final String USERNAME_FIELD = "username";
@JsonProperty(USERNAME_FIELD)
private String userName; ///< Optional. User‘s or bot’s username
private String userName; ///< Optional. Interlocutor's last name for private chats
public Chat() {
super();
@ -40,17 +46,19 @@ public class Chat implements BotApiObject {
public Chat(JSONObject jsonObject) {
super();
this.id = jsonObject.getInt(ID_FIELD);
if (this.id > 0) {
this.firstName = jsonObject.getString(FIRSTNAME_FIELD);
if (jsonObject.has(LASTNAME_FIELD)) {
this.lastName = jsonObject.getString(LASTNAME_FIELD);
}
if (jsonObject.has(USERNAME_FIELD)) {
this.userName = jsonObject.getString(USERNAME_FIELD);
}
} else {
this.type = jsonObject.getString(TYPE_FIELD);
if (jsonObject.has(TITLE_FIELD)) {
this.title = jsonObject.getString(TITLE_FIELD);
}
if (jsonObject.has(FIRSTNAME_FIELD)) {
this.firstName = jsonObject.getString(FIRSTNAME_FIELD);
}
if (jsonObject.has(LASTNAME_FIELD)) {
this.lastName = jsonObject.getString(LASTNAME_FIELD);
}
if (jsonObject.has(USERNAME_FIELD)) {
this.userName = jsonObject.getString(USERNAME_FIELD);
}
}
public Integer getId() {
@ -58,11 +66,15 @@ public class Chat implements BotApiObject {
}
public Boolean isGroupChat() {
if (id < 0) {
return true;
} else {
return false;
}
return GROUPCHATTYPE.equals(type);
}
public Boolean isChannelChat() {
return CHANNELCHATTYPE.equals(type);
}
public Boolean isUserChat() {
return USERCHATTYPE.equals(type);
}
public String getTitle() {
@ -85,12 +97,21 @@ public class Chat implements BotApiObject {
public void serialize(JsonGenerator gen, SerializerProvider serializers) throws IOException {
gen.writeStartObject();
gen.writeNumberField(ID_FIELD, id);
if (id > 0) {
gen.writeStringField(FIRSTNAME_FIELD, firstName);
gen.writeStringField(LASTNAME_FIELD, lastName);
gen.writeStringField(USERNAME_FIELD, userName);
gen.writeStringField(TYPE_FIELD, type);
if (isUserChat()) {
if (firstName != null) {
gen.writeStringField(FIRSTNAME_FIELD, firstName);
}
if (lastName != null) {
gen.writeStringField(LASTNAME_FIELD, lastName);
}
} else {
gen.writeStringField(TITLE_FIELD, title);
if (title != null) {
gen.writeStringField(TITLE_FIELD, title);
}
}
if (!isGroupChat() && userName != null) {
gen.writeStringField(USERNAME_FIELD, userName);
}
gen.writeEndObject();
gen.flush();
@ -100,12 +121,21 @@ public class Chat implements BotApiObject {
public void serializeWithType(JsonGenerator gen, SerializerProvider serializers, TypeSerializer typeSer) throws IOException {
gen.writeStartObject();
gen.writeNumberField(ID_FIELD, id);
if (id > 0) {
gen.writeStringField(FIRSTNAME_FIELD, firstName);
gen.writeStringField(LASTNAME_FIELD, lastName);
gen.writeStringField(USERNAME_FIELD, userName);
gen.writeStringField(TYPE_FIELD, type);
if (isUserChat()) {
if (firstName != null) {
gen.writeStringField(FIRSTNAME_FIELD, firstName);
}
if (lastName != null) {
gen.writeStringField(LASTNAME_FIELD, lastName);
}
} else {
gen.writeStringField(TITLE_FIELD, title);
if (title != null) {
gen.writeStringField(TITLE_FIELD, title);
}
}
if (!isGroupChat() && userName != null) {
gen.writeStringField(USERNAME_FIELD, userName);
}
gen.writeEndObject();
gen.flush();

26
src/main/java/org/telegram/api/objects/Message.java

@ -24,17 +24,13 @@ public class Message implements BotApiObject {
private Integer messageId; ///< Integer Unique message identifier
public static final String FROM_FIELD = "from";
@JsonProperty(FROM_FIELD)
private User from; ///< Sender
private User from; ///< Optional. Sender, can be empty for messages sent to channels
public static final String DATE_FIELD = "date";
@JsonProperty(DATE_FIELD)
private Integer date; ///< Date the message was sent in Unix time
public static final String CHAT_FIELD = "chat";
/**
* Conversation the message belongs to in case of a private message (@see User)or
* Conversation the message belongs to in case of a group (@see GroupChat)
*/
@JsonProperty(CHAT_FIELD)
private Chat chat; ///< Conversation the message belongs to in case of a private message
private Chat chat; ///< Conversation the message belongs to
public static final String FORWARDFROM_FIELD = "forward_from";
@JsonProperty(FORWARDFROM_FIELD)
private User forwardFrom; ///< Optional. For forwarded messages, sender of the original message
@ -73,13 +69,13 @@ public class Message implements BotApiObject {
private User leftChatParticipant; ///< Optional. A member was removed from the group, information about them (this member may be bot itself)
public static final String NEWCHATTITLE_FIELD = "new_chat_title";
@JsonProperty(NEWCHATTITLE_FIELD)
private String newChatTitle; ///< Optional. A group title was changed to this value
private String newChatTitle; ///< Optional. A chat title was changed to this value
public static final String NEWCHATPHOTO_FIELD = "new_chat_photo";
@JsonProperty(NEWCHATPHOTO_FIELD)
private List<PhotoSize> newChatPhoto; ///< Optional. A group photo was change to this value
private List<PhotoSize> newChatPhoto; ///< Optional. A chat photo was change to this value
public static final String DELETECHATPHOTO_FIELD = "delete_chat_photo";
@JsonProperty(DELETECHATPHOTO_FIELD)
private Boolean deleteChatPhoto; ///< Optional. Informs that the group photo was deleted
private Boolean deleteChatPhoto; ///< Optional. Informs that the chat photo was deleted
public static final String GROUPCHATCREATED_FIELD = "group_chat_created";
@JsonProperty(GROUPCHATCREATED_FIELD)
private Boolean groupchatCreated; ///< Optional. Informs that the group has been created
@ -97,7 +93,9 @@ public class Message implements BotApiObject {
public Message(JSONObject jsonObject) {
super();
this.messageId = jsonObject.getInt(MESSAGEID_FIELD);
this.from = new User(jsonObject.getJSONObject(FROM_FIELD));
if (jsonObject.has(FROM_FIELD)) {
this.from = new User(jsonObject.getJSONObject(FROM_FIELD));
}
this.date = jsonObject.getInt(DATE_FIELD);
this.chat = new Chat(jsonObject.getJSONObject(CHAT_FIELD));
if (jsonObject.has(FORWARDFROM_FIELD)) {
@ -192,6 +190,14 @@ public class Message implements BotApiObject {
return chat.isGroupChat();
}
public boolean isUserMessage() {
return chat.isUserChat();
}
public boolean isChannelMessage() {
return chat.isChannelChat();
}
public Integer getChatId() {
return chat.getId();
}

16
src/main/java/org/telegram/updateshandlers/DirectionsHandlers.java

@ -33,7 +33,7 @@ public class DirectionsHandlers implements UpdatesCallback {
private final ConcurrentLinkedQueue<Integer> languageMessages = new ConcurrentLinkedQueue<>();
public DirectionsHandlers(Webhook webhook) {
if (USEWEBHOOK) {
if (USEWEBHOOK && BuildVars.useWebHook) {
webhook.registerWebhook(this, BOTNAME);
SenderHelper.SendWebhook(Webhook.getExternalURL(BOTNAME), TOKEN);
} else {
@ -84,7 +84,7 @@ public class DirectionsHandlers implements UpdatesCallback {
} else {
SendMessage sendMessageRequest = new SendMessage();
sendMessageRequest.setText(LocalisationService.getInstance().getString("youNeedReplyDirections", language));
sendMessageRequest.setChatId(message.getChatId());
sendMessageRequest.setChatId(message.getChatId().toString());
SenderHelper.SendApiMethod(sendMessageRequest, TOKEN);
}
}
@ -98,7 +98,7 @@ public class DirectionsHandlers implements UpdatesCallback {
String destiny = message.getText();
List<String> directions = DirectionsService.getInstance().getDirections(origin, destiny, language);
SendMessage sendMessageRequest = new SendMessage();
sendMessageRequest.setChatId(message.getChatId());
sendMessageRequest.setChatId(message.getChatId().toString());
ReplyKeyboardHide replyKeyboardHide = new ReplyKeyboardHide();
replyKeyboardHide.setSelective(true);
sendMessageRequest.setReplayMarkup(replyKeyboardHide);
@ -125,7 +125,7 @@ public class DirectionsHandlers implements UpdatesCallback {
private void onOriginReceived(Message message, String language) {
SendMessage sendMessageRequest = new SendMessage();
sendMessageRequest.setChatId(message.getChatId());
sendMessageRequest.setChatId(message.getChatId().toString());
sendMessageRequest.setReplayToMessageId(message.getMessageId());
ForceReplyKeyboard forceReplyKeyboard = new ForceReplyKeyboard();
forceReplyKeyboard.setSelective(true);
@ -155,13 +155,13 @@ public class DirectionsHandlers implements UpdatesCallback {
LocalisationService.getInstance().getString("helpDirections", language),
Commands.startDirectionCommand);
sendMessageRequest.setText(helpDirectionsFormated);
sendMessageRequest.setChatId(message.getChatId());
sendMessageRequest.setChatId(message.getChatId().toString());
SenderHelper.SendApiMethod(sendMessageRequest, TOKEN);
}
private void onStartdirectionsCommand(Message message, String language) {
SendMessage sendMessageRequest = new SendMessage();
sendMessageRequest.setChatId(message.getChatId());
sendMessageRequest.setChatId(message.getChatId().toString());
sendMessageRequest.setReplayToMessageId(message.getMessageId());
ForceReplyKeyboard forceReplyKeyboard = new ForceReplyKeyboard();
forceReplyKeyboard.setSelective(true);
@ -187,7 +187,7 @@ public class DirectionsHandlers implements UpdatesCallback {
private void onSetLanguageCommand(Message message, String language) {
SendMessage sendMessageRequest = new SendMessage();
sendMessageRequest.setChatId(message.getChatId());
sendMessageRequest.setChatId(message.getChatId().toString());
ReplyKeyboardMarkup replyKeyboardMarkup = new ReplyKeyboardMarkup();
HashMap<String, String> languages = LocalisationService.getInstance().getSupportedLanguages();
List<List<String>> commands = new ArrayList<>();
@ -209,7 +209,7 @@ public class DirectionsHandlers implements UpdatesCallback {
private void onLanguageSelected(Message message) {
String[] parts = message.getText().split("-->", 2);
SendMessage sendMessageRequest = new SendMessage();
sendMessageRequest.setChatId(message.getChatId());
sendMessageRequest.setChatId(message.getChatId().toString());
if (LocalisationService.getInstance().getSupportedLanguages().containsKey(parts[0].trim())) {
DatabaseManager.getInstance().putUserLanguage(message.getFrom().getId(), parts[0].trim());
sendMessageRequest.setText(LocalisationService.getInstance().getString("languageModified", parts[0].trim()));

22
src/main/java/org/telegram/updateshandlers/FilesHandlers.java

@ -40,7 +40,7 @@ public class FilesHandlers implements UpdatesCallback {
private final ConcurrentLinkedQueue<Integer> languageMessages = new ConcurrentLinkedQueue<>();
public FilesHandlers(Webhook webhook) {
if (USEWEBHOOK) {
if (USEWEBHOOK && BuildVars.useWebHook) {
webhook.registerWebhook(this, BOTNAME);
SenderHelper.SendWebhook(Webhook.getExternalURL(BOTNAME), TOKEN);
} else {
@ -99,7 +99,7 @@ public class FilesHandlers implements UpdatesCallback {
SendMessage sendMessageRequest = new SendMessage();
sendMessageRequest.setText(LocalisationService.getInstance().getString("fileUploaded", language) +
LocalisationService.getInstance().getString("uploadedFileURL", language) + message.getDocument().getFileId());
sendMessageRequest.setChatId(message.getChatId());
sendMessageRequest.setChatId(message.getChatId().toString());
SenderHelper.SendApiMethod(sendMessageRequest, TOKEN);
}
}
@ -117,7 +117,7 @@ public class FilesHandlers implements UpdatesCallback {
} else {
sendMessageRequest.setText(LocalisationService.getInstance().getString("noFiles", language));
}
sendMessageRequest.setChatId(message.getChatId());
sendMessageRequest.setChatId(message.getChatId().toString());
ReplyKeyboardHide replyKeyboardHide = new ReplyKeyboardHide();
replyKeyboardHide.setHideKeyboard(true);
sendMessageRequest.setReplayMarkup(replyKeyboardHide);
@ -137,7 +137,7 @@ public class FilesHandlers implements UpdatesCallback {
DatabaseManager.getInstance().addUserForFile(message.getFrom().getId(), DELETE_UPLOADED_STATUS);
SendMessage sendMessageRequest = new SendMessage();
sendMessageRequest.setText(LocalisationService.getInstance().getString("deleteUploadedFile", language));
sendMessageRequest.setChatId(message.getChatId());
sendMessageRequest.setChatId(message.getChatId().toString());
HashMap<String, String> files = DatabaseManager.getInstance().getFilesByUser(message.getFrom().getId());
ReplyKeyboardMarkup replyKeyboardMarkup = new ReplyKeyboardMarkup();
if (files.size() > 0) {
@ -165,7 +165,7 @@ public class FilesHandlers implements UpdatesCallback {
} else {
sendMessageRequest.setText(LocalisationService.getInstance().getString("wrongFileId", language));
}
sendMessageRequest.setChatId(message.getChatId());
sendMessageRequest.setChatId(message.getChatId().toString());
SenderHelper.SendApiMethod(sendMessageRequest, TOKEN);
DatabaseManager.getInstance().deleteUserForFile(message.getFrom().getId());
}
@ -174,7 +174,7 @@ public class FilesHandlers implements UpdatesCallback {
DatabaseManager.getInstance().deleteUserForFile(message.getFrom().getId());
SendMessage sendMessageRequest = new SendMessage();
sendMessageRequest.setText(LocalisationService.getInstance().getString("processFinished", language));
sendMessageRequest.setChatId(message.getChatId());
sendMessageRequest.setChatId(message.getChatId().toString());
SenderHelper.SendApiMethod(sendMessageRequest, TOKEN);
}
@ -182,7 +182,7 @@ public class FilesHandlers implements UpdatesCallback {
DatabaseManager.getInstance().addUserForFile(message.getFrom().getId(), INITIAL_UPLOAD_STATUS);
SendMessage sendMessageRequest = new SendMessage();
sendMessageRequest.setText(LocalisationService.getInstance().getString("sendFileToUpload", language));
sendMessageRequest.setChatId(message.getChatId());
sendMessageRequest.setChatId(message.getChatId().toString());
SenderHelper.SendApiMethod(sendMessageRequest, TOKEN);
}
@ -193,7 +193,7 @@ public class FilesHandlers implements UpdatesCallback {
Commands.startCommand, Commands.uploadCommand, Commands.deleteCommand,
Commands.listCommand);
sendMessageRequest.setText(formatedString);
sendMessageRequest.setChatId(message.getChatId());
sendMessageRequest.setChatId(message.getChatId().toString());
SenderHelper.SendApiMethod(sendMessageRequest, TOKEN);
}
@ -206,14 +206,14 @@ public class FilesHandlers implements UpdatesCallback {
} else {
SendMessage sendMessageRequest = new SendMessage();
sendMessageRequest.setText(LocalisationService.getInstance().getString("wrongFileId", language));
sendMessageRequest.setChatId(message.getChatId());
sendMessageRequest.setChatId(message.getChatId().toString());
SenderHelper.SendApiMethod(sendMessageRequest, TOKEN);
}
}
private void onSetLanguageCommand(Message message, String language) {
SendMessage sendMessageRequest = new SendMessage();
sendMessageRequest.setChatId(message.getChatId());
sendMessageRequest.setChatId(message.getChatId().toString());
ReplyKeyboardMarkup replyKeyboardMarkup = new ReplyKeyboardMarkup();
HashMap<String, String> languages = LocalisationService.getInstance().getSupportedLanguages();
List<List<String>> commands = new ArrayList<>();
@ -235,7 +235,7 @@ public class FilesHandlers implements UpdatesCallback {
private void onLanguageReceived(Message message) {
String[] parts = message.getText().split(Emoji.LEFT_RIGHT_ARROW.toString(), 2);
SendMessage sendMessageRequest = new SendMessage();
sendMessageRequest.setChatId(message.getChatId());
sendMessageRequest.setChatId(message.getChatId().toString());
if (LocalisationService.getInstance().getSupportedLanguages().containsKey(parts[0].trim())) {
DatabaseManager.getInstance().putUserLanguage(message.getFrom().getId(), parts[0].trim());
sendMessageRequest.setText(LocalisationService.getInstance().getString("languageModified", parts[0].trim()));

6
src/main/java/org/telegram/updateshandlers/TransifexHandlers.java

@ -24,7 +24,7 @@ public class TransifexHandlers implements UpdatesCallback {
private static final boolean USEWEBHOOK = false;
public TransifexHandlers(Webhook webhook) {
if (USEWEBHOOK) {
if (USEWEBHOOK && BuildVars.useWebHook) {
webhook.registerWebhook(this, BOTNAME);
SenderHelper.SendWebhook(Webhook.getExternalURL(BOTNAME), TOKEN);
} else {
@ -74,7 +74,7 @@ public class TransifexHandlers implements UpdatesCallback {
Commands.transifexTDesktop, Commands.transifexOSX, Commands.transifexWP,
Commands.transifexAndroidSupportCommand);
sendMessageRequest.setText(helpFormated);
sendMessageRequest.setChatId(message.getChatId());
sendMessageRequest.setChatId(message.getChatId().toString());
SenderHelper.SendApiMethod(sendMessageRequest, TOKEN);
}
@ -91,7 +91,7 @@ public class TransifexHandlers implements UpdatesCallback {
Commands.transifexTDesktop, Commands.transifexOSX, Commands.transifexWP,
Commands.transifexAndroidSupportCommand);
sendMessageRequest.setText(helpFormated);
sendMessageRequest.setChatId(message.getChatId());
sendMessageRequest.setChatId(message.getChatId().toString());
SenderHelper.SendApiMethod(sendMessageRequest, TOKEN);
}
}

80
src/main/java/org/telegram/updateshandlers/WeatherHandlers.java

@ -46,7 +46,7 @@ public class WeatherHandlers implements UpdatesCallback {
private final Object webhookLock = new Object();
public WeatherHandlers(Webhook webhook) {
if (USEWEBHOOK) {
if (USEWEBHOOK && BuildVars.useWebHook) {
webhook.registerWebhook(this, BOTNAME);
SenderHelper.SendWebhook(Webhook.getExternalURL(BOTNAME), TOKEN);
} else {
@ -80,7 +80,7 @@ public class WeatherHandlers implements UpdatesCallback {
weatherAlert.getUserId(), userOptions[0], userOptions[1]);
SendMessage sendMessage = new SendMessage();
sendMessage.enableMarkdown(true);
sendMessage.setChatId(weatherAlert.getUserId());
sendMessage.setChatId(String.valueOf(weatherAlert.getUserId()));
sendMessage.setText(weather);
sendBuiltMessage(sendMessage);
}
@ -108,7 +108,7 @@ public class WeatherHandlers implements UpdatesCallback {
private static BotApiMethod onCancelCommand(Integer chatId, Integer userId, Integer messageId, ReplyKeyboard replyKeyboard, String language) {
SendMessage sendMessage = new SendMessage();
sendMessage.setChatId(chatId);
sendMessage.setChatId(chatId.toString());
sendMessage.enableMarkdown(true);
sendMessage.setReplayMarkup(getMainMenuKeyboard(language));
sendMessage.setReplayToMessageId(messageId);
@ -124,7 +124,7 @@ public class WeatherHandlers implements UpdatesCallback {
private static BotApiMethod handleIncomingMessage(Message message) {
final int state = DatabaseManager.getInstance().getWeatherState(message.getFrom().getId(), message.getChatId());
final String language = DatabaseManager.getInstance().getUserWeatherOptions(message.getFrom().getId())[0];
if (message.isGroupMessage() && message.hasText()) {
if (!message.isUserMessage() && message.hasText()) {
if (isCommandForOther(message.getText())) {
return null;
} else if (message.getText().startsWith(Commands.STOPCOMMAND)){
@ -170,7 +170,7 @@ public class WeatherHandlers implements UpdatesCallback {
private static void sendHideKeyboard(Integer userId, Integer chatId, Integer messageId) {
SendMessage sendMessage = new SendMessage();
sendMessage.setChatId(chatId);
sendMessage.setChatId(chatId.toString());
sendMessage.enableMarkdown(true);
sendMessage.setReplayToMessageId(messageId);
sendMessage.setText(Emoji.WAVING_HAND_SIGN.toString());
@ -231,7 +231,7 @@ public class WeatherHandlers implements UpdatesCallback {
SendMessage sendMessage = new SendMessage();
sendMessage.enableMarkdown(true);
sendMessage.setReplayToMessageId(message.getMessageId());
sendMessage.setChatId(message.getChatId());
sendMessage.setChatId(message.getChatId().toString());
sendMessage.setReplayMarkup(getAlertsKeyboard(language));
sendMessage.setText(LocalisationService.getInstance().getString("alertDeleted", language));
@ -243,7 +243,7 @@ public class WeatherHandlers implements UpdatesCallback {
SendMessage sendMessage = new SendMessage();
sendMessage.enableMarkdown(true);
sendMessage.setReplayToMessageId(message.getMessageId());
sendMessage.setChatId(message.getChatId());
sendMessage.setChatId(message.getChatId().toString());
sendMessage.setReplayMarkup(getAlertsKeyboard(language));
sendMessage.setText(LocalisationService.getInstance().getString("alertsMenuMessage", language));
@ -257,7 +257,7 @@ public class WeatherHandlers implements UpdatesCallback {
if (message.getText().equals(getCancelCommand(language))) {
SendMessage sendMessage = new SendMessage();
sendMessage.enableMarkdown(true);
sendMessage.setChatId(message.getChatId());
sendMessage.setChatId(message.getChatId().toString());
sendMessage.setReplayToMessageId(message.getMessageId());
sendMessage.setReplayMarkup(getAlertsKeyboard(language));
sendMessage.setText(LocalisationService.getInstance().getString("alertsMenuMessage", language));
@ -280,7 +280,7 @@ public class WeatherHandlers implements UpdatesCallback {
sendMessageRequest.setReplayMarkup(getAlertsKeyboard(language));
sendMessageRequest.setReplayToMessageId(message.getMessageId());
sendMessageRequest.setText(getChooseNewAlertSetMessage(message.getText(), language));
sendMessageRequest.setChatId(message.getChatId());
sendMessageRequest.setChatId(message.getChatId().toString());
DatabaseManager.getInstance().insertWeatherState(userId, message.getChatId(), ALERT);
return sendMessageRequest;
@ -316,7 +316,7 @@ public class WeatherHandlers implements UpdatesCallback {
ReplyKeyboardMarkup replyKeyboardMarkup = getSettingsKeyboard(language);
sendMessage.setReplayMarkup(replyKeyboardMarkup);
sendMessage.setReplayToMessageId(message.getMessageId());
sendMessage.setChatId(message.getChatId());
sendMessage.setChatId(message.getChatId().toString());
sendMessage.setText(getSettingsMessage(language));
DatabaseManager.getInstance().insertWeatherState(message.getFrom().getId(), message.getChatId(), SETTINGS);
@ -327,7 +327,7 @@ public class WeatherHandlers implements UpdatesCallback {
SendMessage sendMessage = new SendMessage();
sendMessage.enableMarkdown(true);
sendMessage.setChatId(message.getChatId());
sendMessage.setChatId(message.getChatId().toString());
sendMessage.setReplayToMessageId(message.getMessageId());
sendMessage.setReplayMarkup(getAlertsKeyboard(language));
sendMessage.setText(getAlertListMessage(message.getFrom().getId(), language));
@ -340,7 +340,7 @@ public class WeatherHandlers implements UpdatesCallback {
SendMessage sendMessage = new SendMessage();
sendMessage.enableMarkdown(true);
sendMessage.setChatId(message.getChatId());
sendMessage.setChatId(message.getChatId().toString());
ReplyKeyboardMarkup replyKeyboardMarkup = getAlertsListKeyboard(message.getFrom().getId(), language);
if (replyKeyboardMarkup != null) {
@ -360,7 +360,7 @@ public class WeatherHandlers implements UpdatesCallback {
SendMessage sendMessage = new SendMessage();
sendMessage.enableMarkdown(true);
sendMessage.setChatId(message.getChatId());
sendMessage.setChatId(message.getChatId().toString());
sendMessage.setReplayMarkup(getRecentsKeyboard(message.getFrom().getId(), language, false));
sendMessage.setText(LocalisationService.getInstance().getString("chooseNewAlertCity", language));
sendMessage.setReplayToMessageId(message.getMessageId());
@ -397,7 +397,7 @@ public class WeatherHandlers implements UpdatesCallback {
sendMessage.enableMarkdown(true);
sendMessage.setReplayToMessageId(message.getMessageId());
sendMessage.setChatId(message.getChatId());
sendMessage.setChatId(message.getChatId().toString());
sendMessage.setReplayMarkup(getAlertsKeyboard(language));
sendMessage.setText(LocalisationService.getInstance().getString("alertsMenuMessage", language));
@ -410,7 +410,7 @@ public class WeatherHandlers implements UpdatesCallback {
sendMessage.enableMarkdown(true);
sendMessage.setReplayToMessageId(message.getMessageId());
sendMessage.setChatId(message.getChatId());
sendMessage.setChatId(message.getChatId().toString());
sendMessage.setReplayMarkup(getUnitsKeyboard(language));
sendMessage.setText(getUnitsMessage(message.getFrom().getId(), language));
@ -423,7 +423,7 @@ public class WeatherHandlers implements UpdatesCallback {
sendMessage.enableMarkdown(true);
sendMessage.setReplayToMessageId(message.getMessageId());
sendMessage.setChatId(message.getChatId());
sendMessage.setChatId(message.getChatId().toString());
sendMessage.setReplayMarkup(getLanguagesKeyboard(language));
sendMessage.setText(getLanguageMessage(language));
@ -460,7 +460,7 @@ public class WeatherHandlers implements UpdatesCallback {
ReplyKeyboardMarkup replyKeyboardMarkup = getSettingsKeyboard(language);
sendMessage.setReplayMarkup(replyKeyboardMarkup);
sendMessage.setReplayToMessageId(message.getMessageId());
sendMessage.setChatId(message.getChatId());
sendMessage.setChatId(message.getChatId().toString());
sendMessage.setText(getSettingsMessage(language));
DatabaseManager.getInstance().insertWeatherState(message.getFrom().getId(), message.getChatId(), SETTINGS);
@ -470,7 +470,7 @@ public class WeatherHandlers implements UpdatesCallback {
private static BotApiMethod onUnitsError(Integer chatId, Integer messageId, String language) {
SendMessage sendMessageRequest = new SendMessage();
sendMessageRequest.enableMarkdown(true);
sendMessageRequest.setChatId(chatId);
sendMessageRequest.setChatId(chatId.toString());
sendMessageRequest.setReplayMarkup(getUnitsKeyboard(language));
sendMessageRequest.setText(LocalisationService.getInstance().getString("errorUnitsNotFound", language));
sendMessageRequest.setReplayToMessageId(messageId);
@ -483,7 +483,7 @@ public class WeatherHandlers implements UpdatesCallback {
SendMessage sendMessageRequest = new SendMessage();
sendMessageRequest.enableMarkdown(true);
sendMessageRequest.setChatId(chatId);
sendMessageRequest.setChatId(chatId.toString());
sendMessageRequest.setText(LocalisationService.getInstance().getString("unitsUpdated", language));
sendMessageRequest.setReplayToMessageId(messageId);
sendMessageRequest.setReplayMarkup(getMainMenuKeyboard(language));
@ -518,7 +518,7 @@ public class WeatherHandlers implements UpdatesCallback {
ReplyKeyboardMarkup replyKeyboardMarkup = getSettingsKeyboard(language);
sendMessage.setReplayMarkup(replyKeyboardMarkup);
sendMessage.setReplayToMessageId(message.getMessageId());
sendMessage.setChatId(message.getChatId());
sendMessage.setChatId(message.getChatId().toString());
sendMessage.setText(getSettingsMessage(language));
DatabaseManager.getInstance().insertWeatherState(message.getFrom().getId(), message.getChatId(), SETTINGS);
@ -528,7 +528,7 @@ public class WeatherHandlers implements UpdatesCallback {
private static BotApiMethod onLanguageError(Integer chatId, Integer messageId, String language) {
SendMessage sendMessageRequest = new SendMessage();
sendMessageRequest.enableMarkdown(true);
sendMessageRequest.setChatId(chatId);
sendMessageRequest.setChatId(chatId.toString());
sendMessageRequest.setReplayMarkup(getLanguagesKeyboard(language));
sendMessageRequest.setText(LocalisationService.getInstance().getString("errorLanguageNotFound", language));
sendMessageRequest.setReplayToMessageId(messageId);
@ -542,7 +542,7 @@ public class WeatherHandlers implements UpdatesCallback {
SendMessage sendMessageRequest = new SendMessage();
sendMessageRequest.enableMarkdown(true);
sendMessageRequest.setChatId(chatId);
sendMessageRequest.setChatId(chatId.toString());
sendMessageRequest.setText(LocalisationService.getInstance().getString("languageUpdated", languageCode));
sendMessageRequest.setReplayToMessageId(messageId);
sendMessageRequest.setReplayMarkup(getMainMenuKeyboard(languageCode));
@ -607,7 +607,7 @@ public class WeatherHandlers implements UpdatesCallback {
sendMessageRequest.setReplayMarkup(getMainMenuKeyboard(language));
sendMessageRequest.setReplayToMessageId(messageId);
sendMessageRequest.setText(weather);
sendMessageRequest.setChatId(chatId);
sendMessageRequest.setChatId(chatId.toString());
DatabaseManager.getInstance().insertWeatherState(userId, chatId, MAINMENU);
return sendMessageRequest;
@ -621,7 +621,7 @@ public class WeatherHandlers implements UpdatesCallback {
SendMessage sendMessage = new SendMessage();
sendMessage.enableMarkdown(true);
sendMessage.setChatId(chatId);
sendMessage.setChatId(chatId.toString());
sendMessage.setReplayToMessageId(messageId);
sendMessage.setReplayMarkup(forceReplyKeyboard);
sendMessage.setText(LocalisationService.getInstance().getString("onWeatherLocationCommand", language));
@ -635,7 +635,7 @@ public class WeatherHandlers implements UpdatesCallback {
SendMessage sendMessage = new SendMessage();
sendMessage.enableMarkdown(true);
sendMessage.setChatId(chatId);
sendMessage.setChatId(chatId.toString());
sendMessage.setReplayToMessageId(messageId);
sendMessage.setReplayMarkup(forceReplyKeyboard);
sendMessage.setText(LocalisationService.getInstance().getString("onWeatherNewCommand", language));
@ -709,7 +709,7 @@ public class WeatherHandlers implements UpdatesCallback {
sendMessageRequest.setReplayMarkup(getMainMenuKeyboard(language));
sendMessageRequest.setReplayToMessageId(messageId);
sendMessageRequest.setText(weather);
sendMessageRequest.setChatId(chatId);
sendMessageRequest.setChatId(chatId.toString());
DatabaseManager.getInstance().insertWeatherState(userId, chatId, MAINMENU);
return sendMessageRequest;
} else {
@ -722,7 +722,7 @@ public class WeatherHandlers implements UpdatesCallback {
SendMessage sendMessage = new SendMessage();
sendMessage.enableMarkdown(true);
sendMessage.setChatId(chatId);
sendMessage.setChatId(chatId.toString());
sendMessage.setReplayToMessageId(messageId);
sendMessage.setReplayMarkup(forceReplyKeyboard);
sendMessage.setText(LocalisationService.getInstance().getString("onWeatherLocationCommand", language));
@ -736,7 +736,7 @@ public class WeatherHandlers implements UpdatesCallback {
SendMessage sendMessage = new SendMessage();
sendMessage.enableMarkdown(true);
sendMessage.setChatId(chatId);
sendMessage.setChatId(chatId.toString());
sendMessage.setReplayToMessageId(messageId);
sendMessage.setReplayMarkup(forceReplyKeyboard);
sendMessage.setText(LocalisationService.getInstance().getString("onWeatherNewCommand", language));
@ -767,7 +767,7 @@ public class WeatherHandlers implements UpdatesCallback {
} else if (message.getText().equals(getSettingsCommand(language))) {
botApiMethod = onSettingsChoosen(message, language);
} else if (message.getText().equals(getRateCommand(language))) {
botApiMethod = sendRateMessage(message.getChatId(), message.getMessageId(), null, language);
botApiMethod = sendRateMessage(message.getChatId().toString(), message.getMessageId(), null, language);
} else {
botApiMethod = sendChooseOptionMessage(message.getChatId(), message.getMessageId(),
getMainMenuKeyboard(language), language);
@ -787,7 +787,7 @@ public class WeatherHandlers implements UpdatesCallback {
ReplyKeyboardMarkup replyKeyboardMarkup = getSettingsKeyboard(language);
sendMessage.setReplayMarkup(replyKeyboardMarkup);
sendMessage.setReplayToMessageId(message.getMessageId());
sendMessage.setChatId(message.getChatId());
sendMessage.setChatId(message.getChatId().toString());
sendMessage.setText(getSettingsMessage(language));
DatabaseManager.getInstance().insertWeatherState(message.getFrom().getId(), message.getChatId(), SETTINGS);
@ -801,7 +801,7 @@ public class WeatherHandlers implements UpdatesCallback {
ReplyKeyboardMarkup replyKeyboardMarkup = getRecentsKeyboard(message.getFrom().getId(), language);
sendMessage.setReplayMarkup(replyKeyboardMarkup);
sendMessage.setReplayToMessageId(message.getMessageId());
sendMessage.setChatId(message.getChatId());
sendMessage.setChatId(message.getChatId().toString());
if (replyKeyboardMarkup.getKeyboard().size() > 3) {
sendMessage.setText(LocalisationService.getInstance().getString("onForecastCommandFromHistory", language));
} else {
@ -819,7 +819,7 @@ public class WeatherHandlers implements UpdatesCallback {
ReplyKeyboardMarkup replyKeyboardMarkup = getRecentsKeyboard(message.getFrom().getId(), language);
sendMessage.setReplayMarkup(replyKeyboardMarkup);
sendMessage.setReplayToMessageId(message.getMessageId());
sendMessage.setChatId(message.getChatId());
sendMessage.setChatId(message.getChatId().toString());
if (replyKeyboardMarkup.getKeyboard().size() > 3) {
sendMessage.setText(LocalisationService.getInstance().getString("onCurrentCommandFromHistory", language));
} else {
@ -1136,14 +1136,14 @@ public class WeatherHandlers implements UpdatesCallback {
private static BotApiMethod sendMessageDefault(Message message, String language) {
ReplyKeyboardMarkup replyKeyboardMarkup = getMainMenuKeyboard(language);
DatabaseManager.getInstance().insertWeatherState(message.getFrom().getId(), message.getChatId(), MAINMENU);
return sendHelpMessage(message.getChatId(), message.getMessageId(), replyKeyboardMarkup, language);
return sendHelpMessage(message.getChatId().toString(), message.getMessageId(), replyKeyboardMarkup, language);
}
private static BotApiMethod sendChooseOptionMessage(Integer chatId, Integer messageId,
ReplyKeyboard replyKeyboard, String language) {
SendMessage sendMessage = new SendMessage();
sendMessage.enableMarkdown(true);
sendMessage.setChatId(chatId);
sendMessage.setChatId(chatId.toString());
sendMessage.setReplayToMessageId(messageId);
sendMessage.setReplayMarkup(replyKeyboard);
sendMessage.setText(LocalisationService.getInstance().getString("chooseOption", language));
@ -1151,7 +1151,7 @@ public class WeatherHandlers implements UpdatesCallback {
return sendMessage;
}
private static BotApiMethod sendHelpMessage(Integer chatId, Integer messageId, ReplyKeyboardMarkup replyKeyboardMarkup, String language) {
private static BotApiMethod sendHelpMessage(String chatId, Integer messageId, ReplyKeyboardMarkup replyKeyboardMarkup, String language) {
SendMessage sendMessage = new SendMessage();
sendMessage.enableMarkdown(true);
sendMessage.setChatId(chatId);
@ -1163,7 +1163,7 @@ public class WeatherHandlers implements UpdatesCallback {
return sendMessage;
}
private static BotApiMethod sendRateMessage(Integer chatId, Integer messageId, ReplyKeyboardMarkup replyKeyboardMarkup, String language) {
private static BotApiMethod sendRateMessage(String chatId, Integer messageId, ReplyKeyboardMarkup replyKeyboardMarkup, String language) {
SendMessage sendMessage = new SendMessage();
sendMessage.enableMarkdown(true);
sendMessage.setChatId(chatId);
@ -1189,7 +1189,7 @@ public class WeatherHandlers implements UpdatesCallback {
sendMessageRequest.setReplayMarkup(getMainMenuKeyboard(language));
sendMessageRequest.setReplayToMessageId(message.getMessageId());
sendMessageRequest.setText(weather);
sendMessageRequest.setChatId(message.getChatId());
sendMessageRequest.setChatId(message.getChatId().toString());
DatabaseManager.getInstance().insertWeatherState(message.getFrom().getId(), message.getChatId(), MAINMENU);
return sendMessageRequest;
@ -1203,7 +1203,7 @@ public class WeatherHandlers implements UpdatesCallback {
sendMessageRequest.setReplayMarkup(getMainMenuKeyboard(language));
sendMessageRequest.setReplayToMessageId(messageId);
sendMessageRequest.setText(weather);
sendMessageRequest.setChatId(chatId);
sendMessageRequest.setChatId(chatId.toString());
DatabaseManager.getInstance().insertWeatherState(userId, chatId, MAINMENU);
return sendMessageRequest;
@ -1218,7 +1218,7 @@ public class WeatherHandlers implements UpdatesCallback {
sendMessageRequest.setReplayMarkup(getMainMenuKeyboard(language));
sendMessageRequest.setReplayToMessageId(message.getMessageId());
sendMessageRequest.setText(weather);
sendMessageRequest.setChatId(message.getChatId());
sendMessageRequest.setChatId(message.getChatId().toString());
DatabaseManager.getInstance().insertWeatherState(message.getFrom().getId(), message.getChatId(), MAINMENU);
return sendMessageRequest;
@ -1232,7 +1232,7 @@ public class WeatherHandlers implements UpdatesCallback {
sendMessageRequest.setReplayMarkup(getMainMenuKeyboard(language));
sendMessageRequest.setReplayToMessageId(messageId);
sendMessageRequest.setText(weather);
sendMessageRequest.setChatId(chatId);
sendMessageRequest.setChatId(chatId.toString());
DatabaseManager.getInstance().insertWeatherState(userId, chatId, MAINMENU);
return sendMessageRequest;

Loading…
Cancel
Save