Skip to content

Commit 995edf1

Browse files
committed
Change MessageEntity.type to enum.
New fields: edited_message in Update, edit_date in Message, user in MessageEntity. New value text_mention for the type field in MessageEntity.
1 parent 6f6d6a4 commit 995edf1

File tree

4 files changed

+33
-5
lines changed

4 files changed

+33
-5
lines changed

src/main/java/com/pengrad/telegrambot/model/Message.java

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ public class Message {
1616
private Chat forward_from_chat;
1717
private Integer forward_date;
1818
private Message reply_to_message;
19+
private Integer edit_date;
1920
private String text;
2021
private MessageEntity[] entities;
2122
private Audio audio;
@@ -72,6 +73,10 @@ public Message replyToMessage() {
7273
return reply_to_message;
7374
}
7475

76+
public Integer editDate() {
77+
return edit_date;
78+
}
79+
7580
public String text() {
7681
return text;
7782
}
@@ -181,6 +186,7 @@ public boolean equals(Object o) {
181186
if (forward_date != null ? !forward_date.equals(message.forward_date) : message.forward_date != null) return false;
182187
if (reply_to_message != null ? !reply_to_message.equals(message.reply_to_message) : message.reply_to_message != null)
183188
return false;
189+
if (edit_date != null ? !edit_date.equals(message.edit_date) : message.edit_date != null) return false;
184190
if (text != null ? !text.equals(message.text) : message.text != null) return false;
185191
// Probably incorrect - comparing Object[] arrays with Arrays.equals
186192
if (!Arrays.equals(entities, message.entities)) return false;
@@ -235,6 +241,7 @@ public String toString() {
235241
", forward_from_chat=" + forward_from_chat +
236242
", forward_date=" + forward_date +
237243
", reply_to_message=" + reply_to_message +
244+
", edit_date=" + edit_date +
238245
", text='" + text + '\'' +
239246
", entities=" + Arrays.toString(entities) +
240247
", audio=" + audio +

src/main/java/com/pengrad/telegrambot/model/MessageEntity.java

Lines changed: 17 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -6,12 +6,17 @@
66
*/
77
public class MessageEntity {
88

9-
private String type;
9+
public enum Type {
10+
mention, hashtag, bot_command, url, email, bold, italic, code, pre, text_link, text_mention;
11+
}
12+
13+
private Type type;
1014
private Integer offset;
1115
private Integer length;
1216
private String url;
17+
private User user;
1318

14-
public String type() {
19+
public Type type() {
1520
return type;
1621
}
1722

@@ -27,17 +32,22 @@ public String url() {
2732
return url;
2833
}
2934

35+
public User user() {
36+
return user;
37+
}
38+
3039
@Override
3140
public boolean equals(Object o) {
3241
if (this == o) return true;
3342
if (o == null || getClass() != o.getClass()) return false;
3443

3544
MessageEntity that = (MessageEntity) o;
3645

37-
if (type != null ? !type.equals(that.type) : that.type != null) return false;
46+
if (type != that.type) return false;
3847
if (offset != null ? !offset.equals(that.offset) : that.offset != null) return false;
3948
if (length != null ? !length.equals(that.length) : that.length != null) return false;
40-
return url != null ? url.equals(that.url) : that.url == null;
49+
if (url != null ? !url.equals(that.url) : that.url != null) return false;
50+
return user != null ? user.equals(that.user) : that.user == null;
4151

4252
}
4353

@@ -47,16 +57,18 @@ public int hashCode() {
4757
result = 31 * result + (offset != null ? offset.hashCode() : 0);
4858
result = 31 * result + (length != null ? length.hashCode() : 0);
4959
result = 31 * result + (url != null ? url.hashCode() : 0);
60+
result = 31 * result + (user != null ? user.hashCode() : 0);
5061
return result;
5162
}
5263

5364
@Override
5465
public String toString() {
5566
return "MessageEntity{" +
56-
"type='" + type + '\'' +
67+
"type=" + type +
5768
", offset=" + offset +
5869
", length=" + length +
5970
", url='" + url + '\'' +
71+
", user=" + user +
6072
'}';
6173
}
6274
}

src/main/java/com/pengrad/telegrambot/model/Update.java

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ public class Update {
88

99
private Integer update_id;
1010
private Message message;
11+
private Message edited_message;
1112
private InlineQuery inline_query;
1213
private ChosenInlineResult chosen_inline_result;
1314
private CallbackQuery callback_query;
@@ -20,6 +21,10 @@ public Message message() {
2021
return message;
2122
}
2223

24+
public Message editedMessage() {
25+
return edited_message;
26+
}
27+
2328
public InlineQuery inlineQuery() {
2429
return inline_query;
2530
}
@@ -41,6 +46,8 @@ public boolean equals(Object o) {
4146

4247
if (update_id != null ? !update_id.equals(update.update_id) : update.update_id != null) return false;
4348
if (message != null ? !message.equals(update.message) : update.message != null) return false;
49+
if (edited_message != null ? !edited_message.equals(update.edited_message) : update.edited_message != null)
50+
return false;
4451
if (inline_query != null ? !inline_query.equals(update.inline_query) : update.inline_query != null) return false;
4552
if (chosen_inline_result != null ? !chosen_inline_result.equals(update.chosen_inline_result) : update.chosen_inline_result != null)
4653
return false;
@@ -58,6 +65,7 @@ public String toString() {
5865
return "Update{" +
5966
"update_id=" + update_id +
6067
", message=" + message +
68+
", edited_message=" + edited_message +
6169
", inline_query=" + inline_query +
6270
", chosen_inline_result=" + chosen_inline_result +
6371
", callback_query=" + callback_query +

src/test/java/com/pengrad/telegrambot/UpdateTest.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ public static void check(List<Update> updates) {
1616
for (Update update : updates) {
1717
assertNotNull(update.updateId());
1818
if (update.message() != null) MessageTest.checkMessage(update.message());
19+
else if (update.editedMessage() != null) MessageTest.checkMessage(update.editedMessage());
1920
else if (update.inlineQuery() != null) InlineQueryTest.checkQuery(update.inlineQuery());
2021
else if (update.chosenInlineResult() != null) ChosenInlineResultTest.check(update.chosenInlineResult());
2122
else throw new RuntimeException("Message and inlineQuery and chosenInlineResult are null");

0 commit comments

Comments
 (0)