Skip to content

Commit 69484a5

Browse files
committed
Added the new fields until_date, can_be_edited, can_change_info, can_post_messages, can_edit_messages, can_delete_messages, can_invite_users, can_restrict_members, can_pin_messages, can_promote_members, can_send_messages, can_send_media_messages, can_send_other_messages and can_add_web_page_previews to the ChatMember object
1 parent 7f8e935 commit 69484a5

File tree

2 files changed

+145
-7
lines changed

2 files changed

+145
-7
lines changed

library/src/main/java/com/pengrad/telegrambot/model/ChatMember.java

Lines changed: 126 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -10,12 +10,27 @@ public class ChatMember implements Serializable {
1010
private final static long serialVersionUID = 0L;
1111

1212
public enum Status {
13-
creator, administrator, member, left, kicked;
13+
creator, administrator, member, restricted, left, kicked;
1414
}
1515

1616
private User user;
1717
private Status status;
1818

19+
private Integer until_date;
20+
private Boolean can_be_edited;
21+
private Boolean can_change_info;
22+
private Boolean can_post_messages;
23+
private Boolean can_edit_messages;
24+
private Boolean can_delete_messages;
25+
private Boolean can_invite_users;
26+
private Boolean can_restrict_members;
27+
private Boolean can_pin_messages;
28+
private Boolean can_promote_members;
29+
private Boolean can_send_messages;
30+
private Boolean can_send_media_messages;
31+
private Boolean can_send_other_messages;
32+
private Boolean can_add_web_page_previews;
33+
1934
public User user() {
2035
return user;
2136
}
@@ -24,6 +39,62 @@ public Status status() {
2439
return status;
2540
}
2641

42+
public Integer untilDate() {
43+
return until_date;
44+
}
45+
46+
public Boolean canBeEdited() {
47+
return can_be_edited;
48+
}
49+
50+
public Boolean canChangeInfo() {
51+
return can_change_info;
52+
}
53+
54+
public Boolean canPostMessages() {
55+
return can_post_messages;
56+
}
57+
58+
public Boolean canEditMessages() {
59+
return can_edit_messages;
60+
}
61+
62+
public Boolean canDeleteMessages() {
63+
return can_delete_messages;
64+
}
65+
66+
public Boolean canInviteUsers() {
67+
return can_invite_users;
68+
}
69+
70+
public Boolean canRestrictMembers() {
71+
return can_restrict_members;
72+
}
73+
74+
public Boolean canPinMessages() {
75+
return can_pin_messages;
76+
}
77+
78+
public Boolean canPromoteMembers() {
79+
return can_promote_members;
80+
}
81+
82+
public Boolean canSendMessages() {
83+
return can_send_messages;
84+
}
85+
86+
public Boolean canSendMediaMessages() {
87+
return can_send_media_messages;
88+
}
89+
90+
public Boolean canSendOtherMessages() {
91+
return can_send_other_messages;
92+
}
93+
94+
public Boolean canAddWebPagePreviews() {
95+
return can_add_web_page_previews;
96+
}
97+
2798
@Override
2899
public boolean equals(Object o) {
29100
if (this == o) return true;
@@ -32,14 +103,52 @@ public boolean equals(Object o) {
32103
ChatMember that = (ChatMember) o;
33104

34105
if (user != null ? !user.equals(that.user) : that.user != null) return false;
35-
return status == that.status;
36-
106+
if (status != that.status) return false;
107+
if (until_date != null ? !until_date.equals(that.until_date) : that.until_date != null) return false;
108+
if (can_be_edited != null ? !can_be_edited.equals(that.can_be_edited) : that.can_be_edited != null) return false;
109+
if (can_change_info != null ? !can_change_info.equals(that.can_change_info) : that.can_change_info != null)
110+
return false;
111+
if (can_post_messages != null ? !can_post_messages.equals(that.can_post_messages) : that.can_post_messages != null)
112+
return false;
113+
if (can_edit_messages != null ? !can_edit_messages.equals(that.can_edit_messages) : that.can_edit_messages != null)
114+
return false;
115+
if (can_delete_messages != null ? !can_delete_messages.equals(that.can_delete_messages) : that.can_delete_messages != null)
116+
return false;
117+
if (can_invite_users != null ? !can_invite_users.equals(that.can_invite_users) : that.can_invite_users != null)
118+
return false;
119+
if (can_restrict_members != null ? !can_restrict_members.equals(that.can_restrict_members) : that.can_restrict_members != null)
120+
return false;
121+
if (can_pin_messages != null ? !can_pin_messages.equals(that.can_pin_messages) : that.can_pin_messages != null)
122+
return false;
123+
if (can_promote_members != null ? !can_promote_members.equals(that.can_promote_members) : that.can_promote_members != null)
124+
return false;
125+
if (can_send_messages != null ? !can_send_messages.equals(that.can_send_messages) : that.can_send_messages != null)
126+
return false;
127+
if (can_send_media_messages != null ? !can_send_media_messages.equals(that.can_send_media_messages) : that.can_send_media_messages != null)
128+
return false;
129+
if (can_send_other_messages != null ? !can_send_other_messages.equals(that.can_send_other_messages) : that.can_send_other_messages != null)
130+
return false;
131+
return can_add_web_page_previews != null ? can_add_web_page_previews.equals(that.can_add_web_page_previews) : that.can_add_web_page_previews == null;
37132
}
38133

39134
@Override
40135
public int hashCode() {
41136
int result = user != null ? user.hashCode() : 0;
42137
result = 31 * result + (status != null ? status.hashCode() : 0);
138+
result = 31 * result + (until_date != null ? until_date.hashCode() : 0);
139+
result = 31 * result + (can_be_edited != null ? can_be_edited.hashCode() : 0);
140+
result = 31 * result + (can_change_info != null ? can_change_info.hashCode() : 0);
141+
result = 31 * result + (can_post_messages != null ? can_post_messages.hashCode() : 0);
142+
result = 31 * result + (can_edit_messages != null ? can_edit_messages.hashCode() : 0);
143+
result = 31 * result + (can_delete_messages != null ? can_delete_messages.hashCode() : 0);
144+
result = 31 * result + (can_invite_users != null ? can_invite_users.hashCode() : 0);
145+
result = 31 * result + (can_restrict_members != null ? can_restrict_members.hashCode() : 0);
146+
result = 31 * result + (can_pin_messages != null ? can_pin_messages.hashCode() : 0);
147+
result = 31 * result + (can_promote_members != null ? can_promote_members.hashCode() : 0);
148+
result = 31 * result + (can_send_messages != null ? can_send_messages.hashCode() : 0);
149+
result = 31 * result + (can_send_media_messages != null ? can_send_media_messages.hashCode() : 0);
150+
result = 31 * result + (can_send_other_messages != null ? can_send_other_messages.hashCode() : 0);
151+
result = 31 * result + (can_add_web_page_previews != null ? can_add_web_page_previews.hashCode() : 0);
43152
return result;
44153
}
45154

@@ -48,6 +157,20 @@ public String toString() {
48157
return "ChatMember{" +
49158
"user=" + user +
50159
", status=" + status +
160+
", until_date=" + until_date +
161+
", can_be_edited=" + can_be_edited +
162+
", can_change_info=" + can_change_info +
163+
", can_post_messages=" + can_post_messages +
164+
", can_edit_messages=" + can_edit_messages +
165+
", can_delete_messages=" + can_delete_messages +
166+
", can_invite_users=" + can_invite_users +
167+
", can_restrict_members=" + can_restrict_members +
168+
", can_pin_messages=" + can_pin_messages +
169+
", can_promote_members=" + can_promote_members +
170+
", can_send_messages=" + can_send_messages +
171+
", can_send_media_messages=" + can_send_media_messages +
172+
", can_send_other_messages=" + can_send_other_messages +
173+
", can_add_web_page_previews=" + can_add_web_page_previews +
51174
'}';
52175
}
53176
}

library/src/test/java/com/pengrad/telegrambot/TelegramBotTest.java

Lines changed: 19 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -327,7 +327,7 @@ private CallbackQuery getLastCallbackQuery() {
327327
public void getChat() throws MalformedURLException, URISyntaxException {
328328
Chat chat = bot.execute(new GetChat(groupId)).chat();
329329
ChatTest.checkChat(chat);
330-
assertEquals(chat.type(), Chat.Type.supergroup);
330+
assertEquals(Chat.Type.supergroup, chat.type());
331331
assertTrue(chat.title().contains("Test Bot Group"));
332332
assertTrue(chat.description().contains("New desc"));
333333
assertNotNull(new URL(chat.inviteLink()).toURI());
@@ -343,16 +343,31 @@ public void leaveChat() {
343343

344344
@Test
345345
public void getChatAdministrators() {
346-
GetChatAdministratorsResponse response = bot.execute(new GetChatAdministrators(channelName));
346+
GetChatAdministratorsResponse response = bot.execute(new GetChatAdministrators(groupId));
347347
for (ChatMember chatMember : response.administrators()) {
348348
ChatMemberTest.check(chatMember);
349+
if (chatMember.user().firstName().equals("Test Bot")) {
350+
assertFalse(chatMember.canBeEdited());
351+
assertTrue(chatMember.canChangeInfo());
352+
assertTrue(chatMember.canDeleteMessages());
353+
assertTrue(chatMember.canInviteUsers());
354+
assertTrue(chatMember.canRestrictMembers());
355+
assertTrue(chatMember.canPinMessages());
356+
assertTrue(chatMember.canPromoteMembers());
357+
}
349358
}
350359
}
351360

352361
@Test
353362
public void getChatMember() {
354-
GetChatMemberResponse response = bot.execute(new GetChatMember(chatId, chatId));
355-
ChatMemberTest.check(response.chatMember());
363+
ChatMember chatMember = bot.execute(new GetChatMember(groupId, memberBot)).chatMember();
364+
ChatMemberTest.check(chatMember);
365+
assertEquals(ChatMember.Status.restricted, chatMember.status());
366+
assertTrue(chatMember.untilDate() == 0);
367+
assertEquals(false, chatMember.canSendMessages());
368+
assertEquals(false, chatMember.canSendMediaMessages());
369+
assertEquals(false, chatMember.canSendOtherMessages());
370+
assertEquals(false, chatMember.canAddWebPagePreviews());
356371
}
357372

358373
@Test

0 commit comments

Comments
 (0)