diff --git a/jtelegrambotapi-core/pom.xml b/jtelegrambotapi-core/pom.xml
index 2abf92482..51a182542 100644
--- a/jtelegrambotapi-core/pom.xml
+++ b/jtelegrambotapi-core/pom.xml
@@ -29,6 +29,11 @@
okhttp
+
+ com.google.code.findbugs
+ jsr305
+
+
diff --git a/jtelegrambotapi-core/src/main/java/com/jtelegram/api/TelegramBotRegistry.java b/jtelegrambotapi-core/src/main/java/com/jtelegram/api/TelegramBotRegistry.java
index 801e972cc..e48a02863 100644
--- a/jtelegrambotapi-core/src/main/java/com/jtelegram/api/TelegramBotRegistry.java
+++ b/jtelegrambotapi-core/src/main/java/com/jtelegram/api/TelegramBotRegistry.java
@@ -11,6 +11,8 @@
import com.jtelegram.api.inline.keyboard.InlineKeyboardRow;
import com.jtelegram.api.inline.result.framework.InlineResultType;
import com.jtelegram.api.message.entity.MessageEntity;
+import com.jtelegram.api.message.entity.MessageEntityType;
+import com.jtelegram.api.message.media.Photo;
import com.jtelegram.api.update.Update;
import com.jtelegram.api.update.UpdateProvider;
import com.jtelegram.api.update.UpdateType;
@@ -46,9 +48,11 @@ public class TelegramBotRegistry {
.registerTypeAdapter(InlineKeyboardRow.class, new InlineKeyboardRow.Serializer())
.registerTypeAdapter(ReplyKeyboardRow.class, new ReplyKeyboardRow.Serializer())
.registerTypeAdapter(Update.class, new Update.Deserializer())
+ .registerTypeAdapter(Photo.class, new Photo.Deserializer())
.registerTypeAdapter(Chat.class, new Chat.Deserializer())
.registerTypeAdapter(Message.class, new Message.Deserializer())
.registerTypeAdapter(MessageEntity.class, new MessageEntity.Deserializer())
+ .registerTypeAdapter(MessageEntityType.class, new MessageEntityType.Adapter())
.registerTypeHierarchyAdapter(InputFile.class, new InputFile.Serializer())
.registerTypeHierarchyAdapter(ChatId.class, new ChatId.Serializer())
.create();
diff --git a/jtelegrambotapi-core/src/main/java/com/jtelegram/api/events/Event.java b/jtelegrambotapi-core/src/main/java/com/jtelegram/api/events/Event.java
index 29e7b7033..b249533f2 100644
--- a/jtelegrambotapi-core/src/main/java/com/jtelegram/api/events/Event.java
+++ b/jtelegrambotapi-core/src/main/java/com/jtelegram/api/events/Event.java
@@ -1,6 +1,7 @@
package com.jtelegram.api.events;
import com.jtelegram.api.TelegramBot;
+import javax.annotation.Nonnull;
import lombok.AccessLevel;
import lombok.AllArgsConstructor;
import lombok.Getter;
@@ -10,8 +11,10 @@
@AllArgsConstructor(access = AccessLevel.PROTECTED)
public abstract class Event {
@Getter
+ @Nonnull
private final TelegramBot bot;
+ @Nonnull
public Class extends Event> getType() {
return getClass();
}
diff --git a/jtelegrambotapi-core/src/main/java/com/jtelegram/api/events/EventRegistry.java b/jtelegrambotapi-core/src/main/java/com/jtelegram/api/events/EventRegistry.java
index 499c4945c..cd00dc6b9 100644
--- a/jtelegrambotapi-core/src/main/java/com/jtelegram/api/events/EventRegistry.java
+++ b/jtelegrambotapi-core/src/main/java/com/jtelegram/api/events/EventRegistry.java
@@ -4,7 +4,6 @@
import com.jtelegram.api.events.inline.ChosenInlineResultEvent;
import com.jtelegram.api.requests.inline.AnswerInlineQuery;
import com.jtelegram.api.util.ExceptionThreadFactory;
-
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
@@ -58,14 +57,20 @@ public void dispatch(E event) {
}
this.threadPool.submit(() -> {
- List> h = handlers.get(event.getType());
-
- if (h != null) {
- h.forEach(handler -> {
- EventHandler eh = (EventHandler) handler;
- eh.onEvent(event);
- });
+ Class> eventClass = event.getClass();
+ List> h = new ArrayList<>();
+ while (Event.class.isAssignableFrom(eventClass) && eventClass != Event.class) {
+ List> handlerList = handlers.get(eventClass.asSubclass(Event.class));
+ if (handlerList != null) {
+ h.addAll(handlerList);
+ }
+ eventClass = eventClass.getSuperclass();
}
+
+ h.forEach(handler -> {
+ EventHandler eh = (EventHandler) handler;
+ eh.onEvent(event);
+ });
});
}
}
diff --git a/jtelegrambotapi-core/src/main/java/com/jtelegram/api/events/UpdateEvent.java b/jtelegrambotapi-core/src/main/java/com/jtelegram/api/events/UpdateEvent.java
new file mode 100644
index 000000000..87524ea3c
--- /dev/null
+++ b/jtelegrambotapi-core/src/main/java/com/jtelegram/api/events/UpdateEvent.java
@@ -0,0 +1,22 @@
+package com.jtelegram.api.events;
+
+import com.jtelegram.api.TelegramBot;
+import com.jtelegram.api.update.Update;
+import javax.annotation.Nonnull;
+import lombok.Getter;
+
+/**
+ * @author Nick Robson
+ */
+@Getter
+public abstract class UpdateEvent> extends Event {
+
+ @Nonnull
+ private T update;
+
+ protected UpdateEvent(@Nonnull TelegramBot bot, @Nonnull T update) {
+ super(bot);
+ this.update = update;
+ }
+
+}
diff --git a/jtelegrambotapi-core/src/main/java/com/jtelegram/api/events/channel/ChannelPostEditEvent.java b/jtelegrambotapi-core/src/main/java/com/jtelegram/api/events/channel/ChannelPostEditEvent.java
index 67367e342..2df8fee1d 100644
--- a/jtelegrambotapi-core/src/main/java/com/jtelegram/api/events/channel/ChannelPostEditEvent.java
+++ b/jtelegrambotapi-core/src/main/java/com/jtelegram/api/events/channel/ChannelPostEditEvent.java
@@ -1,8 +1,9 @@
package com.jtelegram.api.events.channel;
import com.jtelegram.api.TelegramBot;
-import com.jtelegram.api.events.Event;
+import com.jtelegram.api.events.UpdateEvent;
import com.jtelegram.api.message.Message;
+import com.jtelegram.api.update.Update;
import lombok.Getter;
import lombok.ToString;
@@ -11,11 +12,11 @@
*/
@Getter
@ToString(callSuper = true)
-public class ChannelPostEditEvent extends Event {
+public class ChannelPostEditEvent extends UpdateEvent {
private Message post;
- public ChannelPostEditEvent(TelegramBot bot, Message post) {
- super(bot);
- this.post = post;
+ public ChannelPostEditEvent(TelegramBot bot, Update.EditedChannelPostUpdate update) {
+ super(bot, update);
+ this.post = update.getEditedChannelPost();
}
}
diff --git a/jtelegrambotapi-core/src/main/java/com/jtelegram/api/events/channel/ChannelPostEvent.java b/jtelegrambotapi-core/src/main/java/com/jtelegram/api/events/channel/ChannelPostEvent.java
index f152cfb0c..921b91013 100644
--- a/jtelegrambotapi-core/src/main/java/com/jtelegram/api/events/channel/ChannelPostEvent.java
+++ b/jtelegrambotapi-core/src/main/java/com/jtelegram/api/events/channel/ChannelPostEvent.java
@@ -1,8 +1,9 @@
package com.jtelegram.api.events.channel;
import com.jtelegram.api.TelegramBot;
-import com.jtelegram.api.events.Event;
+import com.jtelegram.api.events.UpdateEvent;
import com.jtelegram.api.message.Message;
+import com.jtelegram.api.update.Update;
import lombok.Getter;
import lombok.ToString;
@@ -11,11 +12,11 @@
*/
@Getter
@ToString(callSuper = true)
-public class ChannelPostEvent extends Event {
+public class ChannelPostEvent extends UpdateEvent {
private Message post;
- public ChannelPostEvent(TelegramBot bot, Message post) {
- super(bot);
- this.post = post;
+ public ChannelPostEvent(TelegramBot bot, Update.ChannelPostUpdate update) {
+ super(bot, update);
+ this.post = update.getChannelPost();
}
}
diff --git a/jtelegrambotapi-core/src/main/java/com/jtelegram/api/events/chat/ChatMemberJoinedEvent.java b/jtelegrambotapi-core/src/main/java/com/jtelegram/api/events/chat/ChatMemberJoinedEvent.java
index f50fd9d0b..698905483 100644
--- a/jtelegrambotapi-core/src/main/java/com/jtelegram/api/events/chat/ChatMemberJoinedEvent.java
+++ b/jtelegrambotapi-core/src/main/java/com/jtelegram/api/events/chat/ChatMemberJoinedEvent.java
@@ -3,6 +3,7 @@
import com.jtelegram.api.TelegramBot;
import com.jtelegram.api.events.message.ServiceMessageEvent;
import com.jtelegram.api.message.impl.service.NewChatMembersMessage;
+import com.jtelegram.api.update.Update;
import com.jtelegram.api.user.User;
import lombok.Getter;
@@ -14,8 +15,8 @@
public class ChatMemberJoinedEvent extends ServiceMessageEvent {
private List newMembers;
- public ChatMemberJoinedEvent(TelegramBot bot, NewChatMembersMessage originMessage) {
- super(bot, originMessage);
+ public ChatMemberJoinedEvent(TelegramBot bot, Update.MessageUpdate update, NewChatMembersMessage originMessage) {
+ super(bot, update, originMessage);
this.newMembers = originMessage.getNewChatMembers();
}
}
diff --git a/jtelegrambotapi-core/src/main/java/com/jtelegram/api/events/chat/ChatMemberLeftEvent.java b/jtelegrambotapi-core/src/main/java/com/jtelegram/api/events/chat/ChatMemberLeftEvent.java
index 49f41dd16..4472e99be 100644
--- a/jtelegrambotapi-core/src/main/java/com/jtelegram/api/events/chat/ChatMemberLeftEvent.java
+++ b/jtelegrambotapi-core/src/main/java/com/jtelegram/api/events/chat/ChatMemberLeftEvent.java
@@ -2,6 +2,7 @@
import com.jtelegram.api.TelegramBot;
import com.jtelegram.api.events.message.ServiceMessageEvent;
+import com.jtelegram.api.update.Update;
import com.jtelegram.api.user.User;
import com.jtelegram.api.message.impl.service.LeftChatMemberMessage;
import lombok.Getter;
@@ -12,8 +13,8 @@
public class ChatMemberLeftEvent extends ServiceMessageEvent {
private User leftMember;
- public ChatMemberLeftEvent(TelegramBot bot, LeftChatMemberMessage originMessage) {
- super(bot, originMessage);
+ public ChatMemberLeftEvent(TelegramBot bot, Update.MessageUpdate update, LeftChatMemberMessage originMessage) {
+ super(bot, update, originMessage);
this.leftMember = originMessage.getLeftChatMember();
}
}
diff --git a/jtelegrambotapi-core/src/main/java/com/jtelegram/api/events/chat/ChatMigratedFromChatEvent.java b/jtelegrambotapi-core/src/main/java/com/jtelegram/api/events/chat/ChatMigratedFromChatEvent.java
index 96a886672..1f79f6c2a 100644
--- a/jtelegrambotapi-core/src/main/java/com/jtelegram/api/events/chat/ChatMigratedFromChatEvent.java
+++ b/jtelegrambotapi-core/src/main/java/com/jtelegram/api/events/chat/ChatMigratedFromChatEvent.java
@@ -4,6 +4,7 @@
import com.jtelegram.api.chat.Chat;
import com.jtelegram.api.events.message.ServiceMessageEvent;
import com.jtelegram.api.message.impl.service.MigrateFromChatIdMessage;
+import com.jtelegram.api.update.Update;
import lombok.Getter;
import lombok.ToString;
@@ -12,8 +13,8 @@
public class ChatMigratedFromChatEvent extends ServiceMessageEvent {
private Chat newChat;
- public ChatMigratedFromChatEvent(TelegramBot bot, MigrateFromChatIdMessage originMessage) {
- super(bot, originMessage);
+ public ChatMigratedFromChatEvent(TelegramBot bot, Update.MessageUpdate update, MigrateFromChatIdMessage originMessage) {
+ super(bot, update, originMessage);
this.newChat = originMessage.getChat();
}
}
diff --git a/jtelegrambotapi-core/src/main/java/com/jtelegram/api/events/chat/ChatMigratedToChatEvent.java b/jtelegrambotapi-core/src/main/java/com/jtelegram/api/events/chat/ChatMigratedToChatEvent.java
index 3968f1bb6..7be2c3636 100644
--- a/jtelegrambotapi-core/src/main/java/com/jtelegram/api/events/chat/ChatMigratedToChatEvent.java
+++ b/jtelegrambotapi-core/src/main/java/com/jtelegram/api/events/chat/ChatMigratedToChatEvent.java
@@ -4,6 +4,7 @@
import com.jtelegram.api.chat.Chat;
import com.jtelegram.api.events.message.ServiceMessageEvent;
import com.jtelegram.api.message.impl.service.MigrateToChatIdMessage;
+import com.jtelegram.api.update.Update;
import lombok.Getter;
import lombok.ToString;
@@ -12,8 +13,8 @@
public class ChatMigratedToChatEvent extends ServiceMessageEvent {
private Chat newChat;
- public ChatMigratedToChatEvent(TelegramBot bot, MigrateToChatIdMessage originMessage) {
- super(bot, originMessage);
+ public ChatMigratedToChatEvent(TelegramBot bot, Update.MessageUpdate update, MigrateToChatIdMessage originMessage) {
+ super(bot, update, originMessage);
this.newChat = originMessage.getChat();
}
}
diff --git a/jtelegrambotapi-core/src/main/java/com/jtelegram/api/events/chat/ChatPhotoDeletedEvent.java b/jtelegrambotapi-core/src/main/java/com/jtelegram/api/events/chat/ChatPhotoDeletedEvent.java
index 59fcda4d0..8763a0dfb 100644
--- a/jtelegrambotapi-core/src/main/java/com/jtelegram/api/events/chat/ChatPhotoDeletedEvent.java
+++ b/jtelegrambotapi-core/src/main/java/com/jtelegram/api/events/chat/ChatPhotoDeletedEvent.java
@@ -3,11 +3,12 @@
import com.jtelegram.api.TelegramBot;
import com.jtelegram.api.events.message.ServiceMessageEvent;
import com.jtelegram.api.message.impl.service.DeleteChatPhotoMessage;
+import com.jtelegram.api.update.Update;
import lombok.ToString;
@ToString(callSuper = true)
public class ChatPhotoDeletedEvent extends ServiceMessageEvent {
- public ChatPhotoDeletedEvent(TelegramBot bot, DeleteChatPhotoMessage originMessage) {
- super(bot, originMessage);
+ public ChatPhotoDeletedEvent(TelegramBot bot, Update.MessageUpdate update, DeleteChatPhotoMessage originMessage) {
+ super(bot, update, originMessage);
}
}
diff --git a/jtelegrambotapi-core/src/main/java/com/jtelegram/api/events/chat/GroupChatCreatedEvent.java b/jtelegrambotapi-core/src/main/java/com/jtelegram/api/events/chat/GroupChatCreatedEvent.java
index 825574c6b..741d6afca 100644
--- a/jtelegrambotapi-core/src/main/java/com/jtelegram/api/events/chat/GroupChatCreatedEvent.java
+++ b/jtelegrambotapi-core/src/main/java/com/jtelegram/api/events/chat/GroupChatCreatedEvent.java
@@ -4,6 +4,7 @@
import com.jtelegram.api.TelegramBot;
import com.jtelegram.api.events.message.ServiceMessageEvent;
import com.jtelegram.api.message.impl.service.GroupChatCreatedMessage;
+import com.jtelegram.api.update.Update;
import lombok.Getter;
import lombok.ToString;
@@ -12,8 +13,8 @@
public class GroupChatCreatedEvent extends ServiceMessageEvent {
private Chat newChat;
- public GroupChatCreatedEvent(TelegramBot bot, GroupChatCreatedMessage originMessage) {
- super(bot, originMessage);
+ public GroupChatCreatedEvent(TelegramBot bot, Update.MessageUpdate update, GroupChatCreatedMessage originMessage) {
+ super(bot, update, originMessage);
this.newChat = originMessage.getChat();
}
}
diff --git a/jtelegrambotapi-core/src/main/java/com/jtelegram/api/events/chat/NewChatPhotoEvent.java b/jtelegrambotapi-core/src/main/java/com/jtelegram/api/events/chat/NewChatPhotoEvent.java
index 791a2c962..8ce1d9064 100644
--- a/jtelegrambotapi-core/src/main/java/com/jtelegram/api/events/chat/NewChatPhotoEvent.java
+++ b/jtelegrambotapi-core/src/main/java/com/jtelegram/api/events/chat/NewChatPhotoEvent.java
@@ -4,6 +4,7 @@
import com.jtelegram.api.events.message.ServiceMessageEvent;
import com.jtelegram.api.message.impl.service.NewChatPhotoMessage;
import com.jtelegram.api.message.media.PhotoSize;
+import com.jtelegram.api.update.Update;
import java.util.List;
import lombok.Getter;
import lombok.ToString;
@@ -13,8 +14,8 @@
public class NewChatPhotoEvent extends ServiceMessageEvent {
private List newChatPhoto;
- public NewChatPhotoEvent(TelegramBot bot, NewChatPhotoMessage originMessage) {
- super(bot, originMessage);
+ public NewChatPhotoEvent(TelegramBot bot, Update.MessageUpdate update, NewChatPhotoMessage originMessage) {
+ super(bot, update, originMessage);
this.newChatPhoto = originMessage.getNewChatPhoto();
}
}
diff --git a/jtelegrambotapi-core/src/main/java/com/jtelegram/api/events/chat/NewChatTitleEvent.java b/jtelegrambotapi-core/src/main/java/com/jtelegram/api/events/chat/NewChatTitleEvent.java
index fcff36e48..2838b9394 100644
--- a/jtelegrambotapi-core/src/main/java/com/jtelegram/api/events/chat/NewChatTitleEvent.java
+++ b/jtelegrambotapi-core/src/main/java/com/jtelegram/api/events/chat/NewChatTitleEvent.java
@@ -3,6 +3,7 @@
import com.jtelegram.api.events.message.ServiceMessageEvent;
import com.jtelegram.api.message.impl.service.NewChatTitleMessage;
import com.jtelegram.api.TelegramBot;
+import com.jtelegram.api.update.Update;
import lombok.Getter;
import lombok.ToString;
@@ -11,8 +12,8 @@
public class NewChatTitleEvent extends ServiceMessageEvent {
private String newTitle;
- public NewChatTitleEvent(TelegramBot bot, NewChatTitleMessage originMessage) {
- super(bot, originMessage);
+ public NewChatTitleEvent(TelegramBot bot, Update.MessageUpdate update, NewChatTitleMessage originMessage) {
+ super(bot, update, originMessage);
this.newTitle = originMessage.getNewChatTitle();
}
}
diff --git a/jtelegrambotapi-core/src/main/java/com/jtelegram/api/events/chat/PinnedMessageEvent.java b/jtelegrambotapi-core/src/main/java/com/jtelegram/api/events/chat/PinnedMessageEvent.java
index 55a31f2db..b3a708ea8 100644
--- a/jtelegrambotapi-core/src/main/java/com/jtelegram/api/events/chat/PinnedMessageEvent.java
+++ b/jtelegrambotapi-core/src/main/java/com/jtelegram/api/events/chat/PinnedMessageEvent.java
@@ -4,6 +4,7 @@
import com.jtelegram.api.TelegramBot;
import com.jtelegram.api.message.Message;
import com.jtelegram.api.message.impl.service.PinnedMessageMessage;
+import com.jtelegram.api.update.Update;
import lombok.Getter;
import lombok.ToString;
@@ -12,8 +13,8 @@
public class PinnedMessageEvent extends ServiceMessageEvent {
private Message pinnedMessage;
- public PinnedMessageEvent(TelegramBot bot, PinnedMessageMessage originMessage) {
- super(bot, originMessage);
+ public PinnedMessageEvent(TelegramBot bot, Update.MessageUpdate update, PinnedMessageMessage originMessage) {
+ super(bot, update, originMessage);
this.pinnedMessage = originMessage.getPinnedMessage();
}
}
diff --git a/jtelegrambotapi-core/src/main/java/com/jtelegram/api/events/chat/SupergroupChatCreatedEvent.java b/jtelegrambotapi-core/src/main/java/com/jtelegram/api/events/chat/SupergroupChatCreatedEvent.java
new file mode 100644
index 000000000..0d17c66fd
--- /dev/null
+++ b/jtelegrambotapi-core/src/main/java/com/jtelegram/api/events/chat/SupergroupChatCreatedEvent.java
@@ -0,0 +1,20 @@
+package com.jtelegram.api.events.chat;
+
+import com.jtelegram.api.TelegramBot;
+import com.jtelegram.api.chat.Chat;
+import com.jtelegram.api.events.message.ServiceMessageEvent;
+import com.jtelegram.api.message.impl.service.SupergroupChatCreatedMessage;
+import com.jtelegram.api.update.Update;
+import lombok.Getter;
+import lombok.ToString;
+
+@Getter
+@ToString(callSuper = true)
+public class SupergroupChatCreatedEvent extends ServiceMessageEvent {
+ private Chat newChat;
+
+ public SupergroupChatCreatedEvent(TelegramBot bot, Update.MessageUpdate update, SupergroupChatCreatedMessage originMessage) {
+ super(bot, update, originMessage);
+ this.newChat = originMessage.getChat();
+ }
+}
diff --git a/jtelegrambotapi-core/src/main/java/com/jtelegram/api/events/chat/UserLoggedInEvent.java b/jtelegrambotapi-core/src/main/java/com/jtelegram/api/events/chat/UserLoggedInEvent.java
index f3b34bf7c..6ce857571 100644
--- a/jtelegrambotapi-core/src/main/java/com/jtelegram/api/events/chat/UserLoggedInEvent.java
+++ b/jtelegrambotapi-core/src/main/java/com/jtelegram/api/events/chat/UserLoggedInEvent.java
@@ -3,6 +3,7 @@
import com.jtelegram.api.TelegramBot;
import com.jtelegram.api.events.message.ServiceMessageEvent;
import com.jtelegram.api.message.impl.service.UserLoggedInMessage;
+import com.jtelegram.api.update.Update;
import lombok.ToString;
/**
@@ -14,7 +15,7 @@
*/
@ToString(callSuper = true)
public class UserLoggedInEvent extends ServiceMessageEvent {
- public UserLoggedInEvent(TelegramBot bot, UserLoggedInMessage originMessage) {
- super(bot, originMessage);
+ public UserLoggedInEvent(TelegramBot bot, Update.MessageUpdate update, UserLoggedInMessage originMessage) {
+ super(bot, update, originMessage);
}
}
diff --git a/jtelegrambotapi-core/src/main/java/com/jtelegram/api/events/inline/ChosenInlineResultEvent.java b/jtelegrambotapi-core/src/main/java/com/jtelegram/api/events/inline/ChosenInlineResultEvent.java
index 0f0803931..36479ae03 100644
--- a/jtelegrambotapi-core/src/main/java/com/jtelegram/api/events/inline/ChosenInlineResultEvent.java
+++ b/jtelegrambotapi-core/src/main/java/com/jtelegram/api/events/inline/ChosenInlineResultEvent.java
@@ -2,7 +2,9 @@
import com.jtelegram.api.TelegramBot;
import com.jtelegram.api.events.Event;
+import com.jtelegram.api.events.UpdateEvent;
import com.jtelegram.api.inline.result.ChosenInlineResult;
+import com.jtelegram.api.update.Update;
import lombok.Getter;
import lombok.ToString;
@@ -11,11 +13,11 @@
*/
@Getter
@ToString(callSuper = true)
-public class ChosenInlineResultEvent extends Event {
+public class ChosenInlineResultEvent extends UpdateEvent {
private ChosenInlineResult chosenResult;
- public ChosenInlineResultEvent(TelegramBot bot, ChosenInlineResult chosenResult) {
- super(bot);
- this.chosenResult = chosenResult;
+ public ChosenInlineResultEvent(TelegramBot bot, Update.ChosenInlineResultUpdate update) {
+ super(bot, update);
+ this.chosenResult = update.getChosenInlineResult();
}
}
diff --git a/jtelegrambotapi-core/src/main/java/com/jtelegram/api/events/inline/InlineQueryEvent.java b/jtelegrambotapi-core/src/main/java/com/jtelegram/api/events/inline/InlineQueryEvent.java
index 5b626fc6c..fa3b4121e 100644
--- a/jtelegrambotapi-core/src/main/java/com/jtelegram/api/events/inline/InlineQueryEvent.java
+++ b/jtelegrambotapi-core/src/main/java/com/jtelegram/api/events/inline/InlineQueryEvent.java
@@ -1,8 +1,9 @@
package com.jtelegram.api.events.inline;
import com.jtelegram.api.TelegramBot;
-import com.jtelegram.api.events.Event;
+import com.jtelegram.api.events.UpdateEvent;
import com.jtelegram.api.inline.InlineQuery;
+import com.jtelegram.api.update.Update;
import lombok.Getter;
import lombok.ToString;
@@ -11,11 +12,11 @@
*/
@Getter
@ToString(callSuper = true)
-public class InlineQueryEvent extends Event {
+public class InlineQueryEvent extends UpdateEvent {
private InlineQuery query;
- public InlineQueryEvent(TelegramBot bot, InlineQuery query) {
- super(bot);
- this.query = query;
+ public InlineQueryEvent(TelegramBot bot, Update.InlineQueryUpdate update) {
+ super(bot, update);
+ this.query = update.getInlineQuery();
}
}
diff --git a/jtelegrambotapi-core/src/main/java/com/jtelegram/api/events/inline/keyboard/CallbackQueryEvent.java b/jtelegrambotapi-core/src/main/java/com/jtelegram/api/events/inline/keyboard/CallbackQueryEvent.java
index 0b780d967..7a8334b68 100644
--- a/jtelegrambotapi-core/src/main/java/com/jtelegram/api/events/inline/keyboard/CallbackQueryEvent.java
+++ b/jtelegrambotapi-core/src/main/java/com/jtelegram/api/events/inline/keyboard/CallbackQueryEvent.java
@@ -1,18 +1,19 @@
package com.jtelegram.api.events.inline.keyboard;
import com.jtelegram.api.TelegramBot;
-import com.jtelegram.api.events.Event;
+import com.jtelegram.api.events.UpdateEvent;
import com.jtelegram.api.inline.CallbackQuery;
+import com.jtelegram.api.update.Update;
import lombok.Getter;
import lombok.ToString;
@Getter
@ToString(callSuper = true)
-public class CallbackQueryEvent extends Event {
+public class CallbackQueryEvent extends UpdateEvent {
private CallbackQuery query;
- public CallbackQueryEvent(TelegramBot bot, CallbackQuery query) {
- super(bot);
- this.query = query;
+ public CallbackQueryEvent(TelegramBot bot, Update.CallbackQueryUpdate update) {
+ super(bot, update);
+ this.query = update.getCallbackQuery();
}
}
diff --git a/jtelegrambotapi-core/src/main/java/com/jtelegram/api/events/location/LocationUpdateEvent.java b/jtelegrambotapi-core/src/main/java/com/jtelegram/api/events/location/LocationUpdateEvent.java
index f3d476f62..6e0b74ed7 100644
--- a/jtelegrambotapi-core/src/main/java/com/jtelegram/api/events/location/LocationUpdateEvent.java
+++ b/jtelegrambotapi-core/src/main/java/com/jtelegram/api/events/location/LocationUpdateEvent.java
@@ -1,20 +1,21 @@
package com.jtelegram.api.events.location;
-import com.jtelegram.api.message.impl.LocationMessage;
import com.jtelegram.api.TelegramBot;
-import com.jtelegram.api.events.Event;
+import com.jtelegram.api.events.UpdateEvent;
+import com.jtelegram.api.message.impl.LocationMessage;
import com.jtelegram.api.message.media.Location;
+import com.jtelegram.api.update.Update;
import lombok.Getter;
import lombok.ToString;
@Getter
@ToString(callSuper = true)
-public class LocationUpdateEvent extends Event {
+public class LocationUpdateEvent extends UpdateEvent {
private Location location;
private LocationMessage message;
- public LocationUpdateEvent(TelegramBot bot, LocationMessage message) {
- super(bot);
+ public LocationUpdateEvent(TelegramBot bot, Update.EditedMessageUpdate update, LocationMessage message) {
+ super(bot, update);
this.location = message.getLocation();
this.message = message;
}
diff --git a/jtelegrambotapi-core/src/main/java/com/jtelegram/api/events/message/AnimationMessageEvent.java b/jtelegrambotapi-core/src/main/java/com/jtelegram/api/events/message/AnimationMessageEvent.java
index b3bdeb4e0..2979e63e5 100644
--- a/jtelegrambotapi-core/src/main/java/com/jtelegram/api/events/message/AnimationMessageEvent.java
+++ b/jtelegrambotapi-core/src/main/java/com/jtelegram/api/events/message/AnimationMessageEvent.java
@@ -2,9 +2,10 @@
import com.jtelegram.api.TelegramBot;
import com.jtelegram.api.message.impl.AnimationMessage;
+import com.jtelegram.api.update.Update;
public class AnimationMessageEvent extends MessageEvent {
- public AnimationMessageEvent(TelegramBot bot, AnimationMessage message) {
- super(bot, message);
+ public AnimationMessageEvent(TelegramBot bot, Update.MessageUpdate update, AnimationMessage message) {
+ super(bot, update, message);
}
}
diff --git a/jtelegrambotapi-core/src/main/java/com/jtelegram/api/events/message/AudioMessageEvent.java b/jtelegrambotapi-core/src/main/java/com/jtelegram/api/events/message/AudioMessageEvent.java
index 21a175fdf..eb5bc2482 100644
--- a/jtelegrambotapi-core/src/main/java/com/jtelegram/api/events/message/AudioMessageEvent.java
+++ b/jtelegrambotapi-core/src/main/java/com/jtelegram/api/events/message/AudioMessageEvent.java
@@ -2,11 +2,12 @@
import com.jtelegram.api.TelegramBot;
import com.jtelegram.api.message.impl.AudioMessage;
+import com.jtelegram.api.update.Update;
import lombok.ToString;
@ToString(callSuper = true)
public class AudioMessageEvent extends MessageEvent {
- public AudioMessageEvent(TelegramBot bot, AudioMessage message) {
- super(bot, message);
+ public AudioMessageEvent(TelegramBot bot, Update.MessageUpdate update, AudioMessage message) {
+ super(bot, update, message);
}
}
diff --git a/jtelegrambotapi-core/src/main/java/com/jtelegram/api/events/message/ContactMessageEvent.java b/jtelegrambotapi-core/src/main/java/com/jtelegram/api/events/message/ContactMessageEvent.java
index df2ed5729..167fe880b 100644
--- a/jtelegrambotapi-core/src/main/java/com/jtelegram/api/events/message/ContactMessageEvent.java
+++ b/jtelegrambotapi-core/src/main/java/com/jtelegram/api/events/message/ContactMessageEvent.java
@@ -2,11 +2,12 @@
import com.jtelegram.api.TelegramBot;
import com.jtelegram.api.message.impl.ContactMessage;
+import com.jtelegram.api.update.Update;
import lombok.ToString;
@ToString(callSuper = true)
public class ContactMessageEvent extends MessageEvent {
- public ContactMessageEvent(TelegramBot bot, ContactMessage message) {
- super(bot, message);
+ public ContactMessageEvent(TelegramBot bot, Update.MessageUpdate update, ContactMessage message) {
+ super(bot, update, message);
}
}
diff --git a/jtelegrambotapi-core/src/main/java/com/jtelegram/api/events/message/DocumentMessageEvent.java b/jtelegrambotapi-core/src/main/java/com/jtelegram/api/events/message/DocumentMessageEvent.java
index 12924263e..a0cdcb7a9 100644
--- a/jtelegrambotapi-core/src/main/java/com/jtelegram/api/events/message/DocumentMessageEvent.java
+++ b/jtelegrambotapi-core/src/main/java/com/jtelegram/api/events/message/DocumentMessageEvent.java
@@ -2,11 +2,12 @@
import com.jtelegram.api.TelegramBot;
import com.jtelegram.api.message.impl.DocumentMessage;
+import com.jtelegram.api.update.Update;
import lombok.ToString;
@ToString(callSuper = true)
public class DocumentMessageEvent extends MessageEvent {
- public DocumentMessageEvent(TelegramBot bot, DocumentMessage message) {
- super(bot, message);
+ public DocumentMessageEvent(TelegramBot bot, Update.MessageUpdate update, DocumentMessage message) {
+ super(bot, update, message);
}
}
diff --git a/jtelegrambotapi-core/src/main/java/com/jtelegram/api/events/message/GameMessageEvent.java b/jtelegrambotapi-core/src/main/java/com/jtelegram/api/events/message/GameMessageEvent.java
index 08dacd869..d1158d751 100644
--- a/jtelegrambotapi-core/src/main/java/com/jtelegram/api/events/message/GameMessageEvent.java
+++ b/jtelegrambotapi-core/src/main/java/com/jtelegram/api/events/message/GameMessageEvent.java
@@ -2,11 +2,12 @@
import com.jtelegram.api.TelegramBot;
import com.jtelegram.api.message.impl.GameMessage;
+import com.jtelegram.api.update.Update;
import lombok.ToString;
@ToString(callSuper = true)
public class GameMessageEvent extends MessageEvent {
- public GameMessageEvent(TelegramBot bot, GameMessage message) {
- super(bot, message);
+ public GameMessageEvent(TelegramBot bot, Update.MessageUpdate update, GameMessage message) {
+ super(bot, update, message);
}
}
diff --git a/jtelegrambotapi-core/src/main/java/com/jtelegram/api/events/message/InvoiceMessageEvent.java b/jtelegrambotapi-core/src/main/java/com/jtelegram/api/events/message/InvoiceMessageEvent.java
index f90785e88..71fb08a83 100644
--- a/jtelegrambotapi-core/src/main/java/com/jtelegram/api/events/message/InvoiceMessageEvent.java
+++ b/jtelegrambotapi-core/src/main/java/com/jtelegram/api/events/message/InvoiceMessageEvent.java
@@ -2,9 +2,10 @@
import com.jtelegram.api.TelegramBot;
import com.jtelegram.api.message.impl.InvoiceMessage;
+import com.jtelegram.api.update.Update;
public class InvoiceMessageEvent extends MessageEvent {
- public InvoiceMessageEvent(TelegramBot bot, InvoiceMessage message) {
- super(bot, message);
+ public InvoiceMessageEvent(TelegramBot bot, Update.MessageUpdate update, InvoiceMessage message) {
+ super(bot, update, message);
}
}
diff --git a/jtelegrambotapi-core/src/main/java/com/jtelegram/api/events/message/LocationMessageEvent.java b/jtelegrambotapi-core/src/main/java/com/jtelegram/api/events/message/LocationMessageEvent.java
index 315dcecdf..537ffc68d 100644
--- a/jtelegrambotapi-core/src/main/java/com/jtelegram/api/events/message/LocationMessageEvent.java
+++ b/jtelegrambotapi-core/src/main/java/com/jtelegram/api/events/message/LocationMessageEvent.java
@@ -2,11 +2,12 @@
import com.jtelegram.api.message.impl.LocationMessage;
import com.jtelegram.api.TelegramBot;
+import com.jtelegram.api.update.Update;
import lombok.ToString;
@ToString(callSuper = true)
public class LocationMessageEvent extends MessageEvent {
- public LocationMessageEvent(TelegramBot bot, LocationMessage message) {
- super(bot, message);
+ public LocationMessageEvent(TelegramBot bot, Update.MessageUpdate update, LocationMessage message) {
+ super(bot, update, message);
}
}
diff --git a/jtelegrambotapi-core/src/main/java/com/jtelegram/api/events/message/MessageEvent.java b/jtelegrambotapi-core/src/main/java/com/jtelegram/api/events/message/MessageEvent.java
index 6841690b8..84f1e5c42 100644
--- a/jtelegrambotapi-core/src/main/java/com/jtelegram/api/events/message/MessageEvent.java
+++ b/jtelegrambotapi-core/src/main/java/com/jtelegram/api/events/message/MessageEvent.java
@@ -1,18 +1,19 @@
package com.jtelegram.api.events.message;
import com.jtelegram.api.TelegramBot;
-import com.jtelegram.api.events.Event;
+import com.jtelegram.api.events.UpdateEvent;
import com.jtelegram.api.message.Message;
+import com.jtelegram.api.update.Update;
import lombok.Getter;
import lombok.ToString;
@ToString(callSuper = true)
-public class MessageEvent extends Event {
+public class MessageEvent> extends UpdateEvent {
@Getter
private T message;
- public MessageEvent(TelegramBot bot, T message) {
- super(bot);
+ public MessageEvent(TelegramBot bot, Update.MessageUpdate update, T message) {
+ super(bot, update);
this.message = message;
}
}
diff --git a/jtelegrambotapi-core/src/main/java/com/jtelegram/api/events/message/PhotoMessageEvent.java b/jtelegrambotapi-core/src/main/java/com/jtelegram/api/events/message/PhotoMessageEvent.java
index 80901684b..cd94413ca 100644
--- a/jtelegrambotapi-core/src/main/java/com/jtelegram/api/events/message/PhotoMessageEvent.java
+++ b/jtelegrambotapi-core/src/main/java/com/jtelegram/api/events/message/PhotoMessageEvent.java
@@ -2,11 +2,12 @@
import com.jtelegram.api.TelegramBot;
import com.jtelegram.api.message.impl.PhotoMessage;
+import com.jtelegram.api.update.Update;
import lombok.ToString;
@ToString(callSuper = true)
public class PhotoMessageEvent extends MessageEvent {
- public PhotoMessageEvent(TelegramBot bot, PhotoMessage message) {
- super(bot, message);
+ public PhotoMessageEvent(TelegramBot bot, Update.MessageUpdate update, PhotoMessage message) {
+ super(bot, update, message);
}
}
diff --git a/jtelegrambotapi-core/src/main/java/com/jtelegram/api/events/message/ServiceMessageEvent.java b/jtelegrambotapi-core/src/main/java/com/jtelegram/api/events/message/ServiceMessageEvent.java
index afc0a0109..4fa0eb3ab 100644
--- a/jtelegrambotapi-core/src/main/java/com/jtelegram/api/events/message/ServiceMessageEvent.java
+++ b/jtelegrambotapi-core/src/main/java/com/jtelegram/api/events/message/ServiceMessageEvent.java
@@ -2,11 +2,12 @@
import com.jtelegram.api.message.impl.service.ServiceMessage;
import com.jtelegram.api.TelegramBot;
+import com.jtelegram.api.update.Update;
import lombok.ToString;
@ToString(callSuper = true)
public abstract class ServiceMessageEvent extends MessageEvent {
- protected ServiceMessageEvent(TelegramBot bot, T originMessage) {
- super(bot, originMessage);
+ protected ServiceMessageEvent(TelegramBot bot, Update.MessageUpdate update, T originMessage) {
+ super(bot, update, originMessage);
}
}
diff --git a/jtelegrambotapi-core/src/main/java/com/jtelegram/api/events/message/StickerMessageEvent.java b/jtelegrambotapi-core/src/main/java/com/jtelegram/api/events/message/StickerMessageEvent.java
index 1d234134a..5356764a6 100644
--- a/jtelegrambotapi-core/src/main/java/com/jtelegram/api/events/message/StickerMessageEvent.java
+++ b/jtelegrambotapi-core/src/main/java/com/jtelegram/api/events/message/StickerMessageEvent.java
@@ -2,11 +2,12 @@
import com.jtelegram.api.TelegramBot;
import com.jtelegram.api.message.impl.StickerMessage;
+import com.jtelegram.api.update.Update;
import lombok.ToString;
@ToString(callSuper = true)
public class StickerMessageEvent extends MessageEvent {
- public StickerMessageEvent(TelegramBot bot, StickerMessage message) {
- super(bot, message);
+ public StickerMessageEvent(TelegramBot bot, Update.MessageUpdate update, StickerMessage message) {
+ super(bot, update, message);
}
}
diff --git a/jtelegrambotapi-core/src/main/java/com/jtelegram/api/events/message/TextMessageEvent.java b/jtelegrambotapi-core/src/main/java/com/jtelegram/api/events/message/TextMessageEvent.java
index 21537d062..1764cc67e 100644
--- a/jtelegrambotapi-core/src/main/java/com/jtelegram/api/events/message/TextMessageEvent.java
+++ b/jtelegrambotapi-core/src/main/java/com/jtelegram/api/events/message/TextMessageEvent.java
@@ -2,11 +2,12 @@
import com.jtelegram.api.message.impl.TextMessage;
import com.jtelegram.api.TelegramBot;
+import com.jtelegram.api.update.Update;
import lombok.ToString;
@ToString(callSuper = true)
public class TextMessageEvent extends MessageEvent {
- public TextMessageEvent(TelegramBot bot, TextMessage message) {
- super(bot, message);
+ public TextMessageEvent(TelegramBot bot, Update.MessageUpdate update, TextMessage message) {
+ super(bot, update, message);
}
}
diff --git a/jtelegrambotapi-core/src/main/java/com/jtelegram/api/events/message/VenueMessageEvent.java b/jtelegrambotapi-core/src/main/java/com/jtelegram/api/events/message/VenueMessageEvent.java
index 74092832a..cb9a83124 100644
--- a/jtelegrambotapi-core/src/main/java/com/jtelegram/api/events/message/VenueMessageEvent.java
+++ b/jtelegrambotapi-core/src/main/java/com/jtelegram/api/events/message/VenueMessageEvent.java
@@ -2,11 +2,12 @@
import com.jtelegram.api.TelegramBot;
import com.jtelegram.api.message.impl.VenueMessage;
+import com.jtelegram.api.update.Update;
import lombok.ToString;
@ToString(callSuper = true)
public class VenueMessageEvent extends MessageEvent {
- public VenueMessageEvent(TelegramBot bot, VenueMessage message) {
- super(bot, message);
+ public VenueMessageEvent(TelegramBot bot, Update.MessageUpdate update, VenueMessage message) {
+ super(bot, update, message);
}
}
diff --git a/jtelegrambotapi-core/src/main/java/com/jtelegram/api/events/message/VideoMessageEvent.java b/jtelegrambotapi-core/src/main/java/com/jtelegram/api/events/message/VideoMessageEvent.java
index d9945ee78..c67c44ca9 100644
--- a/jtelegrambotapi-core/src/main/java/com/jtelegram/api/events/message/VideoMessageEvent.java
+++ b/jtelegrambotapi-core/src/main/java/com/jtelegram/api/events/message/VideoMessageEvent.java
@@ -2,11 +2,12 @@
import com.jtelegram.api.message.impl.VideoMessage;
import com.jtelegram.api.TelegramBot;
+import com.jtelegram.api.update.Update;
import lombok.ToString;
@ToString(callSuper = true)
public class VideoMessageEvent extends MessageEvent {
- public VideoMessageEvent(TelegramBot bot, VideoMessage message) {
- super(bot, message);
+ public VideoMessageEvent(TelegramBot bot, Update.MessageUpdate update, VideoMessage message) {
+ super(bot, update, message);
}
}
diff --git a/jtelegrambotapi-core/src/main/java/com/jtelegram/api/events/message/VideoNoteMessageEvent.java b/jtelegrambotapi-core/src/main/java/com/jtelegram/api/events/message/VideoNoteMessageEvent.java
index c66bcee09..909b3eb22 100644
--- a/jtelegrambotapi-core/src/main/java/com/jtelegram/api/events/message/VideoNoteMessageEvent.java
+++ b/jtelegrambotapi-core/src/main/java/com/jtelegram/api/events/message/VideoNoteMessageEvent.java
@@ -2,11 +2,12 @@
import com.jtelegram.api.TelegramBot;
import com.jtelegram.api.message.impl.VideoNoteMessage;
+import com.jtelegram.api.update.Update;
import lombok.ToString;
@ToString(callSuper = true)
public class VideoNoteMessageEvent extends MessageEvent {
- public VideoNoteMessageEvent(TelegramBot bot, VideoNoteMessage message) {
- super(bot, message);
+ public VideoNoteMessageEvent(TelegramBot bot, Update.MessageUpdate update, VideoNoteMessage message) {
+ super(bot, update, message);
}
}
diff --git a/jtelegrambotapi-core/src/main/java/com/jtelegram/api/events/message/VoiceMessageEvent.java b/jtelegrambotapi-core/src/main/java/com/jtelegram/api/events/message/VoiceMessageEvent.java
index 695441fa9..941cda54b 100644
--- a/jtelegrambotapi-core/src/main/java/com/jtelegram/api/events/message/VoiceMessageEvent.java
+++ b/jtelegrambotapi-core/src/main/java/com/jtelegram/api/events/message/VoiceMessageEvent.java
@@ -2,11 +2,12 @@
import com.jtelegram.api.TelegramBot;
import com.jtelegram.api.message.impl.VoiceMessage;
+import com.jtelegram.api.update.Update;
import lombok.ToString;
@ToString(callSuper = true)
public class VoiceMessageEvent extends MessageEvent {
- public VoiceMessageEvent(TelegramBot bot, VoiceMessage message) {
- super(bot, message);
+ public VoiceMessageEvent(TelegramBot bot, Update.MessageUpdate update, VoiceMessage message) {
+ super(bot, update, message);
}
}
diff --git a/jtelegrambotapi-core/src/main/java/com/jtelegram/api/events/message/edit/CaptionEditEvent.java b/jtelegrambotapi-core/src/main/java/com/jtelegram/api/events/message/edit/CaptionEditEvent.java
index fe8cd73ad..8b4c47e8c 100644
--- a/jtelegrambotapi-core/src/main/java/com/jtelegram/api/events/message/edit/CaptionEditEvent.java
+++ b/jtelegrambotapi-core/src/main/java/com/jtelegram/api/events/message/edit/CaptionEditEvent.java
@@ -1,18 +1,19 @@
package com.jtelegram.api.events.message.edit;
import com.jtelegram.api.TelegramBot;
-import com.jtelegram.api.events.Event;
+import com.jtelegram.api.events.UpdateEvent;
import com.jtelegram.api.message.CaptionableMessage;
+import com.jtelegram.api.update.Update;
import lombok.Getter;
import lombok.ToString;
@ToString(callSuper = true)
-public class CaptionEditEvent extends Event {
+public class CaptionEditEvent extends UpdateEvent {
@Getter
private CaptionableMessage message;
- public CaptionEditEvent(TelegramBot bot, CaptionableMessage message) {
- super(bot);
+ public CaptionEditEvent(TelegramBot bot, Update.EditedMessageUpdate update, CaptionableMessage message) {
+ super(bot, update);
this.message = message;
}
}
diff --git a/jtelegrambotapi-core/src/main/java/com/jtelegram/api/events/message/edit/TextMessageEditEvent.java b/jtelegrambotapi-core/src/main/java/com/jtelegram/api/events/message/edit/TextMessageEditEvent.java
index e4da2e54b..caedcd837 100644
--- a/jtelegrambotapi-core/src/main/java/com/jtelegram/api/events/message/edit/TextMessageEditEvent.java
+++ b/jtelegrambotapi-core/src/main/java/com/jtelegram/api/events/message/edit/TextMessageEditEvent.java
@@ -1,18 +1,20 @@
package com.jtelegram.api.events.message.edit;
+import com.jtelegram.api.events.UpdateEvent;
import com.jtelegram.api.message.impl.TextMessage;
import com.jtelegram.api.TelegramBot;
import com.jtelegram.api.events.Event;
+import com.jtelegram.api.update.Update;
import lombok.Getter;
import lombok.ToString;
@ToString(callSuper = true)
-public class TextMessageEditEvent extends Event {
+public class TextMessageEditEvent extends UpdateEvent {
@Getter
private TextMessage newMessage;
- public TextMessageEditEvent(TelegramBot bot, TextMessage newMessage) {
- super(bot);
+ public TextMessageEditEvent(TelegramBot bot, Update.EditedMessageUpdate update, TextMessage newMessage) {
+ super(bot, update);
this.newMessage = newMessage;
}
}
diff --git a/jtelegrambotapi-core/src/main/java/com/jtelegram/api/events/payment/PreCheckoutQueryEvent.java b/jtelegrambotapi-core/src/main/java/com/jtelegram/api/events/payment/PreCheckoutQueryEvent.java
index c2c0a29c9..dc4cde810 100644
--- a/jtelegrambotapi-core/src/main/java/com/jtelegram/api/events/payment/PreCheckoutQueryEvent.java
+++ b/jtelegrambotapi-core/src/main/java/com/jtelegram/api/events/payment/PreCheckoutQueryEvent.java
@@ -2,17 +2,19 @@
import com.jtelegram.api.TelegramBot;
import com.jtelegram.api.events.Event;
+import com.jtelegram.api.events.UpdateEvent;
import com.jtelegram.api.message.payments.PreCheckoutQuery;
+import com.jtelegram.api.update.Update;
import lombok.Getter;
import lombok.ToString;
@Getter
@ToString(callSuper = true)
-public class PreCheckoutQueryEvent extends Event {
+public class PreCheckoutQueryEvent extends UpdateEvent {
private PreCheckoutQuery checkoutQuery;
- public PreCheckoutQueryEvent(TelegramBot bot, PreCheckoutQuery checkoutQuery) {
- super(bot);
- this.checkoutQuery = checkoutQuery;
+ public PreCheckoutQueryEvent(TelegramBot bot, Update.PreCheckoutQueryUpdate update) {
+ super(bot, update);
+ this.checkoutQuery = update.getPreCheckoutQuery();
}
}
diff --git a/jtelegrambotapi-core/src/main/java/com/jtelegram/api/events/payment/ShippingQueryEvent.java b/jtelegrambotapi-core/src/main/java/com/jtelegram/api/events/payment/ShippingQueryEvent.java
index d297143ca..c960713f1 100644
--- a/jtelegrambotapi-core/src/main/java/com/jtelegram/api/events/payment/ShippingQueryEvent.java
+++ b/jtelegrambotapi-core/src/main/java/com/jtelegram/api/events/payment/ShippingQueryEvent.java
@@ -1,19 +1,20 @@
package com.jtelegram.api.events.payment;
import com.jtelegram.api.TelegramBot;
-import com.jtelegram.api.events.Event;
+import com.jtelegram.api.events.UpdateEvent;
import com.jtelegram.api.message.payments.ShippingQuery;
+import com.jtelegram.api.update.Update;
import lombok.ToString;
/**
* When a new shipping query is received
*/
@ToString(callSuper = true)
-public class ShippingQueryEvent extends Event {
+public class ShippingQueryEvent extends UpdateEvent {
private ShippingQuery shippingQuery;
- public ShippingQueryEvent(TelegramBot bot, ShippingQuery shippingQuery) {
- super(bot);
- this.shippingQuery = shippingQuery;
+ public ShippingQueryEvent(TelegramBot bot, Update.ShippingQueryUpdate update) {
+ super(bot, update);
+ this.shippingQuery = update.getShippingQuery();
}
}
diff --git a/jtelegrambotapi-core/src/main/java/com/jtelegram/api/events/payment/SuccessfulPaymentEvent.java b/jtelegrambotapi-core/src/main/java/com/jtelegram/api/events/payment/SuccessfulPaymentEvent.java
index 37d59dfc0..8d3d4d646 100644
--- a/jtelegrambotapi-core/src/main/java/com/jtelegram/api/events/payment/SuccessfulPaymentEvent.java
+++ b/jtelegrambotapi-core/src/main/java/com/jtelegram/api/events/payment/SuccessfulPaymentEvent.java
@@ -4,6 +4,7 @@
import com.jtelegram.api.message.impl.SuccessfulPaymentMessage;
import com.jtelegram.api.message.payments.SuccessfulPayment;
import com.jtelegram.api.TelegramBot;
+import com.jtelegram.api.update.Update;
import lombok.Getter;
import lombok.ToString;
@@ -12,8 +13,8 @@
public class SuccessfulPaymentEvent extends MessageEvent {
private SuccessfulPayment payment;
- public SuccessfulPaymentEvent(TelegramBot bot, SuccessfulPaymentMessage message) {
- super(bot, message);
+ public SuccessfulPaymentEvent(TelegramBot bot, Update.MessageUpdate update, SuccessfulPaymentMessage message) {
+ super(bot, update, message);
this.payment = message.getSuccessfulPayment();
}
}
diff --git a/jtelegrambotapi-core/src/main/java/com/jtelegram/api/inline/CallbackQuery.java b/jtelegrambotapi-core/src/main/java/com/jtelegram/api/inline/CallbackQuery.java
index e784988bc..d342853ab 100644
--- a/jtelegrambotapi-core/src/main/java/com/jtelegram/api/inline/CallbackQuery.java
+++ b/jtelegrambotapi-core/src/main/java/com/jtelegram/api/inline/CallbackQuery.java
@@ -1,5 +1,6 @@
package com.jtelegram.api.inline;
+import com.jtelegram.api.update.UpdateContents;
import com.jtelegram.api.user.User;
import com.jtelegram.api.message.Message;
import lombok.AccessLevel;
@@ -12,7 +13,7 @@
@ToString
@EqualsAndHashCode(of = "id")
@NoArgsConstructor(access = AccessLevel.PROTECTED)
-public class CallbackQuery {
+public class CallbackQuery implements UpdateContents {
private String id;
private User from;
private Message message;
diff --git a/jtelegrambotapi-core/src/main/java/com/jtelegram/api/inline/InlineQuery.java b/jtelegrambotapi-core/src/main/java/com/jtelegram/api/inline/InlineQuery.java
index 0f5280c50..17ccc9ff4 100644
--- a/jtelegrambotapi-core/src/main/java/com/jtelegram/api/inline/InlineQuery.java
+++ b/jtelegrambotapi-core/src/main/java/com/jtelegram/api/inline/InlineQuery.java
@@ -1,5 +1,6 @@
package com.jtelegram.api.inline;
+import com.jtelegram.api.update.UpdateContents;
import com.jtelegram.api.user.User;
import com.jtelegram.api.message.media.Location;
import lombok.*;
@@ -8,7 +9,7 @@
@ToString
@EqualsAndHashCode(of = "id")
@NoArgsConstructor(access = AccessLevel.PROTECTED)
-public class InlineQuery {
+public class InlineQuery implements UpdateContents {
private String id;
private User from;
private Location location;
diff --git a/jtelegrambotapi-core/src/main/java/com/jtelegram/api/inline/result/ChosenInlineResult.java b/jtelegrambotapi-core/src/main/java/com/jtelegram/api/inline/result/ChosenInlineResult.java
index 6f0a35cb9..dfabba5f1 100644
--- a/jtelegrambotapi-core/src/main/java/com/jtelegram/api/inline/result/ChosenInlineResult.java
+++ b/jtelegrambotapi-core/src/main/java/com/jtelegram/api/inline/result/ChosenInlineResult.java
@@ -1,6 +1,7 @@
package com.jtelegram.api.inline.result;
import com.jtelegram.api.message.media.Location;
+import com.jtelegram.api.update.UpdateContents;
import com.jtelegram.api.user.User;
import lombok.*;
@@ -8,7 +9,7 @@
@ToString
@EqualsAndHashCode(of = "resultId")
@NoArgsConstructor(access = AccessLevel.PROTECTED)
-public class ChosenInlineResult {
+public class ChosenInlineResult implements UpdateContents {
private String resultId;
private User from;
private String query;
diff --git a/jtelegrambotapi-core/src/main/java/com/jtelegram/api/inline/result/InlineResultAudio.java b/jtelegrambotapi-core/src/main/java/com/jtelegram/api/inline/result/InlineResultAudio.java
index 80c1da9e8..88314919e 100644
--- a/jtelegrambotapi-core/src/main/java/com/jtelegram/api/inline/result/InlineResultAudio.java
+++ b/jtelegrambotapi-core/src/main/java/com/jtelegram/api/inline/result/InlineResultAudio.java
@@ -4,6 +4,7 @@
import com.jtelegram.api.inline.keyboard.InlineKeyboardMarkup;
import com.jtelegram.api.inline.result.framework.InlineResult;
import com.jtelegram.api.inline.input.InputMessageContent;
+import com.jtelegram.api.requests.message.framework.ParseMode;
import lombok.Builder;
import lombok.Getter;
import lombok.ToString;
@@ -14,6 +15,7 @@ public class InlineResultAudio extends InlineResult implements InlineResult.Dura
InlineResult.Titled, InlineResult.Urlable {
private String title;
private String caption;
+ private ParseMode captionParseMode;
private String performer;
@SerializedName("audio_duration")
private Integer duration;
@@ -21,10 +23,11 @@ public class InlineResultAudio extends InlineResult implements InlineResult.Dura
private String url;
@Builder
- private InlineResultAudio(String id, InlineKeyboardMarkup replyMarkup, InputMessageContent inputMessageContent, String title, String caption, String performer, Integer duration, String url) {
+ private InlineResultAudio(String id, InlineKeyboardMarkup replyMarkup, InputMessageContent inputMessageContent, String title, String caption, ParseMode captionParseMode, String performer, Integer duration, String url) {
super(id, replyMarkup, inputMessageContent);
this.title = title;
this.caption = caption;
+ this.captionParseMode = captionParseMode;
this.performer = performer;
this.duration = duration;
this.url = url;
diff --git a/jtelegrambotapi-core/src/main/java/com/jtelegram/api/inline/result/InlineResultDocument.java b/jtelegrambotapi-core/src/main/java/com/jtelegram/api/inline/result/InlineResultDocument.java
index 2acb5c371..66da2cc11 100644
--- a/jtelegrambotapi-core/src/main/java/com/jtelegram/api/inline/result/InlineResultDocument.java
+++ b/jtelegrambotapi-core/src/main/java/com/jtelegram/api/inline/result/InlineResultDocument.java
@@ -5,6 +5,7 @@
import com.jtelegram.api.inline.keyboard.InlineKeyboardMarkup;
import com.jtelegram.api.inline.result.framework.DimensionalThumbableInlineResult;
import com.jtelegram.api.inline.result.framework.InlineResult;
+import com.jtelegram.api.requests.message.framework.ParseMode;
import lombok.Builder;
import lombok.Getter;
import lombok.ToString;
@@ -15,6 +16,7 @@ public class InlineResultDocument extends DimensionalThumbableInlineResult imple
InlineResult.Captioned, InlineResult.Describeable, InlineResult.Urlable {
private String title;
private String caption;
+ private ParseMode captionParseMode;
private String description;
private String mimeType;
@SerializedName("document_url")
@@ -22,7 +24,8 @@ public class InlineResultDocument extends DimensionalThumbableInlineResult imple
@Builder
private InlineResultDocument(String id, InlineKeyboardMarkup replyMarkup, InputMessageContent inputMessageContent, String thumbUrl,
- Integer thumbWidth, Integer thumbHeight, String title, String caption, String description, String mimeType, String url) {
+ Integer thumbWidth, Integer thumbHeight, String title, String caption, ParseMode captionParseMode,
+ String description, String mimeType, String url) {
super(id, replyMarkup, inputMessageContent, thumbUrl, thumbWidth, thumbHeight);
this.title = title;
this.caption = caption;
diff --git a/jtelegrambotapi-core/src/main/java/com/jtelegram/api/inline/result/InlineResultGif.java b/jtelegrambotapi-core/src/main/java/com/jtelegram/api/inline/result/InlineResultGif.java
index f9c3f444b..52713506f 100644
--- a/jtelegrambotapi-core/src/main/java/com/jtelegram/api/inline/result/InlineResultGif.java
+++ b/jtelegrambotapi-core/src/main/java/com/jtelegram/api/inline/result/InlineResultGif.java
@@ -5,6 +5,7 @@
import com.jtelegram.api.inline.result.framework.InlineResult;
import com.jtelegram.api.inline.input.InputMessageContent;
import com.jtelegram.api.inline.result.framework.ThumbableInlineResult;
+import com.jtelegram.api.requests.message.framework.ParseMode;
import lombok.Builder;
import lombok.Getter;
import lombok.ToString;
@@ -15,6 +16,7 @@ public class InlineResultGif extends ThumbableInlineResult implements InlineResu
InlineResult.Titled, InlineResult.Captioned, InlineResult.Duratable {
private String title;
private String caption;
+ private ParseMode captionParseMode;
@SerializedName("gif_url")
private String url;
@SerializedName("gif_width")
@@ -25,10 +27,11 @@ public class InlineResultGif extends ThumbableInlineResult implements InlineResu
private Integer duration;
@Builder
- private InlineResultGif(String id, InlineKeyboardMarkup replyMarkup, InputMessageContent inputMessageContent, String thumbUrl, String title, String caption, String url, Integer width, Integer height, Integer duration) {
+ private InlineResultGif(String id, InlineKeyboardMarkup replyMarkup, InputMessageContent inputMessageContent, String thumbUrl, String title, String caption, ParseMode captionParseMode, String url, Integer width, Integer height, Integer duration) {
super(id, replyMarkup, inputMessageContent, thumbUrl);
this.title = title;
this.caption = caption;
+ this.captionParseMode = captionParseMode;
this.url = url;
this.width = width;
this.height = height;
diff --git a/jtelegrambotapi-core/src/main/java/com/jtelegram/api/inline/result/InlineResultMpegGif.java b/jtelegrambotapi-core/src/main/java/com/jtelegram/api/inline/result/InlineResultMpegGif.java
index 685f7b4bf..162318b67 100644
--- a/jtelegrambotapi-core/src/main/java/com/jtelegram/api/inline/result/InlineResultMpegGif.java
+++ b/jtelegrambotapi-core/src/main/java/com/jtelegram/api/inline/result/InlineResultMpegGif.java
@@ -5,6 +5,7 @@
import com.jtelegram.api.inline.result.framework.InlineResult;
import com.jtelegram.api.inline.input.InputMessageContent;
import com.jtelegram.api.inline.result.framework.ThumbableInlineResult;
+import com.jtelegram.api.requests.message.framework.ParseMode;
import lombok.Builder;
import lombok.Getter;
import lombok.ToString;
@@ -15,6 +16,7 @@ public class InlineResultMpegGif extends ThumbableInlineResult implements Inline
InlineResult.Titled, InlineResult.Captioned, InlineResult.Duratable {
private String title;
private String caption;
+ private ParseMode captionParseMode;
@SerializedName("mpeg4_duration")
private Integer duration;
@SerializedName("mpeg4_width")
@@ -25,10 +27,11 @@ public class InlineResultMpegGif extends ThumbableInlineResult implements Inline
private String url;
@Builder
- private InlineResultMpegGif(String id, InlineKeyboardMarkup replyMarkup, InputMessageContent inputMessageContent, String thumbUrl, String title, String caption, Integer duration, Integer width, Integer height, String url) {
+ private InlineResultMpegGif(String id, InlineKeyboardMarkup replyMarkup, InputMessageContent inputMessageContent, String thumbUrl, String title, String caption, ParseMode captionParseMode, Integer duration, Integer width, Integer height, String url) {
super(id, replyMarkup, inputMessageContent, thumbUrl);
this.title = title;
this.caption = caption;
+ this.captionParseMode = captionParseMode;
this.duration = duration;
this.width = width;
this.height = height;
diff --git a/jtelegrambotapi-core/src/main/java/com/jtelegram/api/inline/result/InlineResultPhoto.java b/jtelegrambotapi-core/src/main/java/com/jtelegram/api/inline/result/InlineResultPhoto.java
index fd8beedc0..320be8d90 100644
--- a/jtelegrambotapi-core/src/main/java/com/jtelegram/api/inline/result/InlineResultPhoto.java
+++ b/jtelegrambotapi-core/src/main/java/com/jtelegram/api/inline/result/InlineResultPhoto.java
@@ -5,6 +5,7 @@
import com.jtelegram.api.inline.keyboard.InlineKeyboardMarkup;
import com.jtelegram.api.inline.result.framework.InlineResult;
import com.jtelegram.api.inline.result.framework.ThumbableInlineResult;
+import com.jtelegram.api.requests.message.framework.ParseMode;
import lombok.Builder;
import lombok.Getter;
import lombok.ToString;
@@ -14,6 +15,7 @@
public class InlineResultPhoto extends ThumbableInlineResult implements InlineResult.Visual,
InlineResult.Titled, InlineResult.Captioned, InlineResult.Describeable {
private String caption;
+ private ParseMode captionParseMode;
private String title;
private String description;
@SerializedName("photo_url")
@@ -25,9 +27,10 @@ public class InlineResultPhoto extends ThumbableInlineResult implements InlineRe
@Builder
private InlineResultPhoto(String id, InlineKeyboardMarkup replyMarkup, InputMessageContent inputMessageContent, String thumbUrl,
- String caption, String title, String description, String url, Integer width, Integer height) {
+ String caption, ParseMode captionParseMode, String title, String description, String url, Integer width, Integer height) {
super(id, replyMarkup, inputMessageContent, thumbUrl);
this.caption = caption;
+ this.captionParseMode = captionParseMode;
this.title = title;
this.description = description;
this.url = url;
diff --git a/jtelegrambotapi-core/src/main/java/com/jtelegram/api/inline/result/InlineResultVideo.java b/jtelegrambotapi-core/src/main/java/com/jtelegram/api/inline/result/InlineResultVideo.java
index 0cabdb152..6c79eabe7 100644
--- a/jtelegrambotapi-core/src/main/java/com/jtelegram/api/inline/result/InlineResultVideo.java
+++ b/jtelegrambotapi-core/src/main/java/com/jtelegram/api/inline/result/InlineResultVideo.java
@@ -5,6 +5,7 @@
import com.jtelegram.api.inline.result.framework.InlineResult;
import com.jtelegram.api.inline.result.framework.ThumbableInlineResult;
import com.jtelegram.api.inline.input.InputMessageContent;
+import com.jtelegram.api.requests.message.framework.ParseMode;
import lombok.Builder;
import lombok.Getter;
import lombok.ToString;
@@ -16,6 +17,7 @@ public class InlineResultVideo extends ThumbableInlineResult implements InlineRe
private String description;
private String title;
private String caption;
+ private ParseMode captionParseMode;
private String mimeType;
@SerializedName("video_url")
private String url;
diff --git a/jtelegrambotapi-core/src/main/java/com/jtelegram/api/inline/result/InlineResultVoice.java b/jtelegrambotapi-core/src/main/java/com/jtelegram/api/inline/result/InlineResultVoice.java
index eddbdc0c5..bef01ae14 100644
--- a/jtelegrambotapi-core/src/main/java/com/jtelegram/api/inline/result/InlineResultVoice.java
+++ b/jtelegrambotapi-core/src/main/java/com/jtelegram/api/inline/result/InlineResultVoice.java
@@ -4,6 +4,7 @@
import com.jtelegram.api.inline.result.framework.InlineResult;
import com.jtelegram.api.inline.input.InputMessageContent;
import com.jtelegram.api.inline.keyboard.InlineKeyboardMarkup;
+import com.jtelegram.api.requests.message.framework.ParseMode;
import lombok.Builder;
import lombok.Getter;
import lombok.ToString;
@@ -14,6 +15,7 @@ public class InlineResultVoice extends InlineResult implements InlineResult.Urla
InlineResult.Titled, InlineResult.Duratable {
private String title;
private String caption;
+ private ParseMode captionParseMode;
@SerializedName("voice_duration")
private Integer duration;
@SerializedName("voice_url")
@@ -21,10 +23,11 @@ public class InlineResultVoice extends InlineResult implements InlineResult.Urla
@Builder
private InlineResultVoice(String id, InlineKeyboardMarkup replyMarkup, InputMessageContent inputMessageContent,
- String title, String caption, Integer duration, String url) {
+ String title, String caption, ParseMode captionParseMode, Integer duration, String url) {
super(id, replyMarkup, inputMessageContent);
this.title = title;
this.caption = caption;
+ this.captionParseMode = captionParseMode;
this.duration = duration;
this.url = url;
}
diff --git a/jtelegrambotapi-core/src/main/java/com/jtelegram/api/inline/result/cached/InlineCachedResultAudio.java b/jtelegrambotapi-core/src/main/java/com/jtelegram/api/inline/result/cached/InlineCachedResultAudio.java
index 19e395d4e..7beda5d1e 100644
--- a/jtelegrambotapi-core/src/main/java/com/jtelegram/api/inline/result/cached/InlineCachedResultAudio.java
+++ b/jtelegrambotapi-core/src/main/java/com/jtelegram/api/inline/result/cached/InlineCachedResultAudio.java
@@ -5,6 +5,7 @@
import com.jtelegram.api.inline.result.framework.InlineResult;
import com.jtelegram.api.message.input.file.IdInputFile;
import com.jtelegram.api.inline.input.InputMessageContent;
+import com.jtelegram.api.requests.message.framework.ParseMode;
import lombok.Builder;
import lombok.Getter;
import lombok.ToString;
@@ -15,12 +16,14 @@ public class InlineCachedResultAudio extends InlineResult implements InlineResul
@SerializedName("audio_file_id")
private IdInputFile fileId;
private String caption;
+ private ParseMode captionParseMode;
@Builder
private InlineCachedResultAudio(String id, InlineKeyboardMarkup replyMarkup, InputMessageContent inputMessageContent,
- IdInputFile fileId, String caption) {
+ IdInputFile fileId, String caption, ParseMode captionParseMode) {
super(id, replyMarkup, inputMessageContent);
this.fileId = fileId;
this.caption = caption;
+ this.captionParseMode = captionParseMode;
}
}
diff --git a/jtelegrambotapi-core/src/main/java/com/jtelegram/api/inline/result/cached/InlineCachedResultDocument.java b/jtelegrambotapi-core/src/main/java/com/jtelegram/api/inline/result/cached/InlineCachedResultDocument.java
index 6b3d3ec59..64b98d1c7 100644
--- a/jtelegrambotapi-core/src/main/java/com/jtelegram/api/inline/result/cached/InlineCachedResultDocument.java
+++ b/jtelegrambotapi-core/src/main/java/com/jtelegram/api/inline/result/cached/InlineCachedResultDocument.java
@@ -5,6 +5,7 @@
import com.jtelegram.api.inline.result.framework.InlineResult;
import com.jtelegram.api.message.input.file.IdInputFile;
import com.jtelegram.api.inline.input.InputMessageContent;
+import com.jtelegram.api.requests.message.framework.ParseMode;
import lombok.Builder;
import lombok.Getter;
import lombok.ToString;
@@ -17,13 +18,15 @@ public class InlineCachedResultDocument extends InlineResult implements InlineRe
private IdInputFile fileId;
private String title;
private String caption;
+ private ParseMode captionParseMode;
@Builder
private InlineCachedResultDocument(String id, InlineKeyboardMarkup replyMarkup, InputMessageContent inputMessageContent,
- IdInputFile fileId, String title, String caption) {
+ IdInputFile fileId, String title, String caption, ParseMode captionParseMode) {
super(id, replyMarkup, inputMessageContent);
this.fileId = fileId;
this.title = title;
this.caption = caption;
+ this.captionParseMode = captionParseMode;
}
}
diff --git a/jtelegrambotapi-core/src/main/java/com/jtelegram/api/inline/result/cached/InlineCachedResultGif.java b/jtelegrambotapi-core/src/main/java/com/jtelegram/api/inline/result/cached/InlineCachedResultGif.java
index 735d0a38d..09d16e7ec 100644
--- a/jtelegrambotapi-core/src/main/java/com/jtelegram/api/inline/result/cached/InlineCachedResultGif.java
+++ b/jtelegrambotapi-core/src/main/java/com/jtelegram/api/inline/result/cached/InlineCachedResultGif.java
@@ -5,6 +5,7 @@
import com.jtelegram.api.inline.result.framework.InlineResult;
import com.jtelegram.api.message.input.file.IdInputFile;
import com.jtelegram.api.inline.input.InputMessageContent;
+import com.jtelegram.api.requests.message.framework.ParseMode;
import lombok.Builder;
import lombok.Getter;
import lombok.ToString;
@@ -17,13 +18,15 @@ public class InlineCachedResultGif extends InlineResult implements InlineResult.
private IdInputFile fileId;
private String title;
private String caption;
+ private ParseMode captionParseMode;
@Builder
private InlineCachedResultGif(String id, InlineKeyboardMarkup replyMarkup, InputMessageContent inputMessageContent,
- IdInputFile fileId, String title, String caption) {
+ IdInputFile fileId, String title, String caption, ParseMode captionParseMode) {
super(id, replyMarkup, inputMessageContent);
this.fileId = fileId;
this.title = title;
this.caption = caption;
+ this.captionParseMode = captionParseMode;
}
}
diff --git a/jtelegrambotapi-core/src/main/java/com/jtelegram/api/inline/result/cached/InlineCachedResultMpegGif.java b/jtelegrambotapi-core/src/main/java/com/jtelegram/api/inline/result/cached/InlineCachedResultMpegGif.java
index c8437267d..a2336b19b 100644
--- a/jtelegrambotapi-core/src/main/java/com/jtelegram/api/inline/result/cached/InlineCachedResultMpegGif.java
+++ b/jtelegrambotapi-core/src/main/java/com/jtelegram/api/inline/result/cached/InlineCachedResultMpegGif.java
@@ -5,6 +5,7 @@
import com.jtelegram.api.inline.keyboard.InlineKeyboardMarkup;
import com.jtelegram.api.inline.result.framework.InlineResult;
import com.jtelegram.api.message.input.file.IdInputFile;
+import com.jtelegram.api.requests.message.framework.ParseMode;
import lombok.Builder;
import lombok.Getter;
import lombok.ToString;
@@ -17,13 +18,15 @@ public class InlineCachedResultMpegGif extends InlineResult implements InlineRes
private IdInputFile fileId;
private String title;
private String caption;
+ private ParseMode captionParseMode;
@Builder
private InlineCachedResultMpegGif(String id, InlineKeyboardMarkup replyMarkup, InputMessageContent inputMessageContent,
- IdInputFile fileId, String title, String caption) {
+ IdInputFile fileId, String title, String caption, ParseMode captionParseMode) {
super(id, replyMarkup, inputMessageContent);
this.fileId = fileId;
this.title = title;
this.caption = caption;
+ this.captionParseMode = captionParseMode;
}
}
diff --git a/jtelegrambotapi-core/src/main/java/com/jtelegram/api/inline/result/cached/InlineCachedResultPhoto.java b/jtelegrambotapi-core/src/main/java/com/jtelegram/api/inline/result/cached/InlineCachedResultPhoto.java
index 221fc2b56..aa150abd6 100644
--- a/jtelegrambotapi-core/src/main/java/com/jtelegram/api/inline/result/cached/InlineCachedResultPhoto.java
+++ b/jtelegrambotapi-core/src/main/java/com/jtelegram/api/inline/result/cached/InlineCachedResultPhoto.java
@@ -5,6 +5,7 @@
import com.jtelegram.api.message.input.file.IdInputFile;
import com.jtelegram.api.inline.input.InputMessageContent;
import com.jtelegram.api.inline.keyboard.InlineKeyboardMarkup;
+import com.jtelegram.api.requests.message.framework.ParseMode;
import lombok.Builder;
import lombok.Getter;
import lombok.ToString;
@@ -17,15 +18,17 @@ public class InlineCachedResultPhoto extends InlineResult implements InlineResul
private IdInputFile fileId;
private String description;
private String caption;
+ private ParseMode captionParseMode;
private String title;
@Builder
private InlineCachedResultPhoto(String id, InlineKeyboardMarkup replyMarkup, InputMessageContent inputMessageContent,
- IdInputFile fileId, String description, String caption, String title) {
+ IdInputFile fileId, String description, String caption, ParseMode captionParseMode, String title) {
super(id, replyMarkup, inputMessageContent);
this.fileId = fileId;
this.description = description;
this.caption = caption;
+ this.captionParseMode = captionParseMode;
this.title = title;
}
}
diff --git a/jtelegrambotapi-core/src/main/java/com/jtelegram/api/inline/result/cached/InlineCachedResultVideo.java b/jtelegrambotapi-core/src/main/java/com/jtelegram/api/inline/result/cached/InlineCachedResultVideo.java
index 191325a40..0c2bb2892 100644
--- a/jtelegrambotapi-core/src/main/java/com/jtelegram/api/inline/result/cached/InlineCachedResultVideo.java
+++ b/jtelegrambotapi-core/src/main/java/com/jtelegram/api/inline/result/cached/InlineCachedResultVideo.java
@@ -5,6 +5,7 @@
import com.jtelegram.api.inline.result.framework.InlineResult;
import com.jtelegram.api.message.input.file.IdInputFile;
import com.jtelegram.api.inline.input.InputMessageContent;
+import com.jtelegram.api.requests.message.framework.ParseMode;
import lombok.Builder;
import lombok.Getter;
import lombok.ToString;
@@ -17,13 +18,15 @@ public class InlineCachedResultVideo extends InlineResult implements InlineResul
private IdInputFile fileId;
private String title;
private String caption;
+ private ParseMode captionParseMode;
@Builder
private InlineCachedResultVideo(String id, InlineKeyboardMarkup replyMarkup, InputMessageContent inputMessageContent,
- IdInputFile fileId, String title, String caption) {
+ IdInputFile fileId, String title, String caption, ParseMode captionParseMode) {
super(id, replyMarkup, inputMessageContent);
this.fileId = fileId;
this.title = title;
this.caption = caption;
+ this.captionParseMode = captionParseMode;
}
}
diff --git a/jtelegrambotapi-core/src/main/java/com/jtelegram/api/inline/result/cached/InlineCachedResultVoice.java b/jtelegrambotapi-core/src/main/java/com/jtelegram/api/inline/result/cached/InlineCachedResultVoice.java
index 4dcc3b9b5..e5cf7e2d3 100644
--- a/jtelegrambotapi-core/src/main/java/com/jtelegram/api/inline/result/cached/InlineCachedResultVoice.java
+++ b/jtelegrambotapi-core/src/main/java/com/jtelegram/api/inline/result/cached/InlineCachedResultVoice.java
@@ -5,6 +5,7 @@
import com.jtelegram.api.inline.keyboard.InlineKeyboardMarkup;
import com.jtelegram.api.inline.result.framework.InlineResult;
import com.jtelegram.api.message.input.file.IdInputFile;
+import com.jtelegram.api.requests.message.framework.ParseMode;
import lombok.Builder;
import lombok.Getter;
import lombok.ToString;
@@ -17,14 +18,16 @@ public class InlineCachedResultVoice extends InlineResult implements InlineResul
private IdInputFile fileId;
private String title;
private String caption;
+ private ParseMode captionParseMode;
@Builder
private InlineCachedResultVoice(String id, InlineKeyboardMarkup replyMarkup, InputMessageContent inputMessageContent,
- IdInputFile fileId, String title, String caption) {
+ IdInputFile fileId, String title, String caption, ParseMode captionParseMode) {
super(id, replyMarkup, inputMessageContent);
this.fileId = fileId;
this.title = title;
this.caption = caption;
+ this.captionParseMode = captionParseMode;
}
}
diff --git a/jtelegrambotapi-core/src/main/java/com/jtelegram/api/inline/result/framework/InlineResult.java b/jtelegrambotapi-core/src/main/java/com/jtelegram/api/inline/result/framework/InlineResult.java
index a74555671..ce40e2314 100644
--- a/jtelegrambotapi-core/src/main/java/com/jtelegram/api/inline/result/framework/InlineResult.java
+++ b/jtelegrambotapi-core/src/main/java/com/jtelegram/api/inline/result/framework/InlineResult.java
@@ -3,6 +3,7 @@
import com.jtelegram.api.inline.input.InputMessageContent;
import com.jtelegram.api.inline.keyboard.InlineKeyboardMarkup;
import com.jtelegram.api.message.input.file.IdInputFile;
+import com.jtelegram.api.requests.message.framework.ParseMode;
import lombok.Getter;
import lombok.ToString;
@@ -26,6 +27,7 @@ public interface Cached {
public interface Captioned {
String getCaption();
+ ParseMode getCaptionParseMode();
}
public interface Describeable {
diff --git a/jtelegrambotapi-core/src/main/java/com/jtelegram/api/message/Message.java b/jtelegrambotapi-core/src/main/java/com/jtelegram/api/message/Message.java
index ddebe8cc6..eeaeb26d9 100644
--- a/jtelegrambotapi-core/src/main/java/com/jtelegram/api/message/Message.java
+++ b/jtelegrambotapi-core/src/main/java/com/jtelegram/api/message/Message.java
@@ -9,6 +9,7 @@
import com.jtelegram.api.requests.message.DeleteMessage;
import com.jtelegram.api.requests.message.ForwardMessage;
import com.jtelegram.api.requests.message.edit.EditMessageReplyMarkup;
+import com.jtelegram.api.update.UpdateContents;
import com.jtelegram.api.user.User;
import java.lang.reflect.Type;
import lombok.Getter;
@@ -16,7 +17,7 @@
@Getter
@ToString
-public abstract class Message {
+public abstract class Message implements UpdateContents {
private int messageId;
private User from;
private long date;
@@ -70,8 +71,8 @@ public static class Deserializer implements JsonDeserializer {
public Message deserialize(JsonElement jsonElement, Type type, JsonDeserializationContext context) throws JsonParseException {
JsonObject object = jsonElement.getAsJsonObject();
- for (MessageType messageType : MessageType.values()) {
- if (object.has(messageType.name().toLowerCase())) {
+ for (MessageType messageType : MessageType.values) {
+ if (object.has(messageType.getName().toLowerCase())) {
return context.deserialize(object, messageType.getMessageClass());
}
}
diff --git a/jtelegrambotapi-core/src/main/java/com/jtelegram/api/message/MessageType.java b/jtelegrambotapi-core/src/main/java/com/jtelegram/api/message/MessageType.java
index 0b4dedb34..020d778e3 100644
--- a/jtelegrambotapi-core/src/main/java/com/jtelegram/api/message/MessageType.java
+++ b/jtelegrambotapi-core/src/main/java/com/jtelegram/api/message/MessageType.java
@@ -1,54 +1,119 @@
package com.jtelegram.api.message;
-import com.jtelegram.api.events.chat.*;
-import com.jtelegram.api.events.message.*;
+import com.jtelegram.api.events.chat.ChatMemberJoinedEvent;
+import com.jtelegram.api.events.chat.ChatMemberLeftEvent;
+import com.jtelegram.api.events.chat.ChatMigratedFromChatEvent;
+import com.jtelegram.api.events.chat.ChatMigratedToChatEvent;
+import com.jtelegram.api.events.chat.ChatPhotoDeletedEvent;
+import com.jtelegram.api.events.chat.GroupChatCreatedEvent;
+import com.jtelegram.api.events.chat.NewChatPhotoEvent;
+import com.jtelegram.api.events.chat.NewChatTitleEvent;
+import com.jtelegram.api.events.chat.PinnedMessageEvent;
+import com.jtelegram.api.events.chat.SupergroupChatCreatedEvent;
+import com.jtelegram.api.events.chat.UserLoggedInEvent;
+import com.jtelegram.api.events.message.AnimationMessageEvent;
+import com.jtelegram.api.events.message.AudioMessageEvent;
+import com.jtelegram.api.events.message.ContactMessageEvent;
+import com.jtelegram.api.events.message.DocumentMessageEvent;
+import com.jtelegram.api.events.message.GameMessageEvent;
+import com.jtelegram.api.events.message.InvoiceMessageEvent;
+import com.jtelegram.api.events.message.LocationMessageEvent;
+import com.jtelegram.api.events.message.MessageEvent;
+import com.jtelegram.api.events.message.PhotoMessageEvent;
+import com.jtelegram.api.events.message.StickerMessageEvent;
+import com.jtelegram.api.events.message.TextMessageEvent;
+import com.jtelegram.api.events.message.VenueMessageEvent;
+import com.jtelegram.api.events.message.VideoMessageEvent;
+import com.jtelegram.api.events.message.VideoNoteMessageEvent;
+import com.jtelegram.api.events.message.VoiceMessageEvent;
import com.jtelegram.api.events.payment.SuccessfulPaymentEvent;
-import com.jtelegram.api.message.impl.*;
-import com.jtelegram.api.message.impl.service.*;
+import com.jtelegram.api.message.games.Game;
+import com.jtelegram.api.message.impl.AnimationMessage;
+import com.jtelegram.api.message.impl.AudioMessage;
+import com.jtelegram.api.message.impl.ContactMessage;
+import com.jtelegram.api.message.impl.DocumentMessage;
+import com.jtelegram.api.message.impl.GameMessage;
+import com.jtelegram.api.message.impl.InvoiceMessage;
+import com.jtelegram.api.message.impl.LocationMessage;
+import com.jtelegram.api.message.impl.PhotoMessage;
+import com.jtelegram.api.message.impl.StickerMessage;
+import com.jtelegram.api.message.impl.SuccessfulPaymentMessage;
+import com.jtelegram.api.message.impl.TextMessage;
+import com.jtelegram.api.message.impl.VenueMessage;
+import com.jtelegram.api.message.impl.VideoMessage;
+import com.jtelegram.api.message.impl.VideoNoteMessage;
+import com.jtelegram.api.message.impl.VoiceMessage;
+import com.jtelegram.api.message.impl.service.DeleteChatPhotoMessage;
+import com.jtelegram.api.message.impl.service.GroupChatCreatedMessage;
+import com.jtelegram.api.message.impl.service.LeftChatMemberMessage;
+import com.jtelegram.api.message.impl.service.MigrateFromChatIdMessage;
+import com.jtelegram.api.message.impl.service.MigrateToChatIdMessage;
+import com.jtelegram.api.message.impl.service.NewChatMembersMessage;
+import com.jtelegram.api.message.impl.service.NewChatPhotoMessage;
+import com.jtelegram.api.message.impl.service.NewChatTitleMessage;
+import com.jtelegram.api.message.impl.service.PinnedMessageMessage;
+import com.jtelegram.api.message.impl.service.SupergroupChatCreatedMessage;
+import com.jtelegram.api.message.impl.service.UserLoggedInMessage;
+import com.jtelegram.api.message.media.Animation;
+import com.jtelegram.api.message.media.Audio;
+import com.jtelegram.api.message.media.Contact;
+import com.jtelegram.api.message.media.Document;
+import com.jtelegram.api.message.media.Location;
+import com.jtelegram.api.message.media.Photo;
+import com.jtelegram.api.message.media.Venue;
+import com.jtelegram.api.message.media.Video;
+import com.jtelegram.api.message.media.VideoNote;
+import com.jtelegram.api.message.media.Voice;
+import com.jtelegram.api.message.payments.Invoice;
+import com.jtelegram.api.message.payments.SuccessfulPayment;
+import com.jtelegram.api.message.sticker.Sticker;
+import lombok.AccessLevel;
+import lombok.AllArgsConstructor;
import lombok.Getter;
-public enum MessageType {
- TEXT(TextMessage.class, TextMessageEvent.class),
- ANIMATION(AnimationMessage.class, AnimationMessageEvent.class),
- AUDIO(AudioMessage.class, AudioMessageEvent.class),
- DOCUMENT(DocumentMessage.class, DocumentMessageEvent.class),
- GAME(GameMessage.class, GameMessageEvent.class),
- PHOTO(PhotoMessage.class, PhotoMessageEvent.class),
- STICKER(StickerMessage.class, StickerMessageEvent.class),
- VIDEO(VideoMessage.class, VideoMessageEvent.class),
- VOICE(VoiceMessage.class, VoiceMessageEvent.class),
- VIDEO_NOTE(VideoNoteMessage.class, VideoNoteMessageEvent.class),
- CONTACT(ContactMessage.class, ContactMessageEvent.class),
- VENUE(VenueMessage.class, VenueMessageEvent.class),
- LOCATION(LocationMessage.class, LocationMessageEvent.class),
- INVOICE(InvoiceMessage.class, InvoiceMessageEvent.class),
- SUCCESSFUL_PAYMENT(SuccessfulPaymentMessage.class, SuccessfulPaymentEvent.class),
-
- NEW_CHAT_MEMBERS(NewChatMembersMessage.class, ChatMemberJoinedEvent.class),
- LEFT_CHAT_MEMBER(LeftChatMemberMessage.class, ChatMemberLeftEvent.class),
- NEW_CHAT_TITLE(NewChatTitleMessage.class, NewChatTitleEvent.class),
- NEW_CHAT_PHOTO(NewChatPhotoMessage.class, NewChatPhotoEvent.class),
- DELETE_CHAT_PHOTO(DeleteChatPhotoMessage.class, ChatPhotoDeletedEvent.class),
- GROUP_CHAT_CREATED(GroupChatCreatedMessage.class, GroupChatCreatedEvent.class),
- PINNED_MESSAGE(PinnedMessageMessage.class, PinnedMessageEvent.class),
- CONNECTED_WEBSITE(UserLoggedInMessage.class, UserLoggedInEvent.class),
- SUPERGROUP_CHAT_CREATED(SupergroupChatCreatedMessage.class, GroupChatCreatedEvent.class),
- MIGRATE_TO_CHAT_ID(MigrateToChatIdMessage.class, ChatMigratedToChatEvent.class),
- MIGRATE_FROM_CHAT_ID(MigrateFromChatIdMessage.class, ChatMigratedFromChatEvent.class)
- ;
-
- @Getter
- private Class extends Message> messageClass;
- @Getter
- private Class extends MessageEvent> receiveEventClass;
-
- MessageType(Class extends Message> messageClass, Class extends MessageEvent> receiveEventClass) {
- this.messageClass = messageClass;
- this.receiveEventClass = receiveEventClass;
- }
+@Getter
+@AllArgsConstructor(access = AccessLevel.PACKAGE)
+public class MessageType, E extends MessageEvent> {
+ public static final MessageType TEXT = new MessageType<>("TEXT", String.class, TextMessage.class, TextMessageEvent.class);
+ public static final MessageType ANIMATION = new MessageType<>("ANIMATION", Animation.class, AnimationMessage.class, AnimationMessageEvent.class);
+ public static final MessageType