Skip to content

Commit f2d57ef

Browse files
committed
Fix handler for scheduled messages without replyMessage. Add handler for case, when bot is kicked from chat with scheduled message.
1 parent a0264ca commit f2d57ef

1 file changed

Lines changed: 14 additions & 4 deletions

File tree

src/main/java/ru/javazen/telegram/bot/scheduler/service/MessageSchedulerServiceImpl.java

Lines changed: 14 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -159,19 +159,29 @@ private ScheduledFuture getFuture(MessageTask task) {
159159

160160
String formattedDate = format.format(new Date(task.getTimeOfCompletion()));
161161

162-
if (e.getApiResponse().contains("reply message not found")) {
162+
if (e.getApiResponse().contains("replied message not found")) {
163163
sendMessage.setReplyToMessageId(null);
164164
String username = findUsernameById(task.getUserId().intValue());
165165
username = username == null ? "Незнакомец под номером '" + task.getUserId() + "'" : "@" + username;
166166

167-
sendMessage.setText(username + ", как-то давно (" + formattedDate + ") ты просил меня напомнить: " + sendMessage.getText());
167+
sendMessage.setText(username + ", как-то давно (" + formattedDate + ") ты просил меня напомнить: " +
168+
sendMessage.getText());
168169
} else if (e.getApiResponse().contains("group chat was upgraded to a supergroup chat")) {
169170
sendMessage.setChatId(e.getParameters().getMigrateToChatId());
170-
sendMessage.setText("Когда-то (" + formattedDate + ") вы просили напомнить. Но я не мог с вами связаться. В общем, вот: " + sendMessage.getText());
171+
sendMessage.setText("Когда-то (" + formattedDate + ") вы просили напомнить. Но я не мог с вами " +
172+
"связаться. В общем, вот: " + sendMessage.getText());
171173
} else if (e.getApiResponse().contains("chat not found")) {
172174
sendMessage.setChatId(task.getUserId());
173175
sendMessage.setReplyToMessageId(null);
174-
sendMessage.setText("Когда-то (" + formattedDate + ") ты завел напоминание. Но чата больше нет. В общем, вот: " + sendMessage.getText());
176+
sendMessage.setText("Когда-то (" + formattedDate + ") ты завел напоминание. Но чата больше нет. " +
177+
"В общем, вот: " + sendMessage.getText());
178+
} else if (e.getApiResponse().contains("bot was kicked from the group chat")) {
179+
String newMessageToSend = "Когда-то (" + formattedDate + ") ты завел напоминание: https://t.me/c/" +
180+
sendMessage.getChatId() + "/" + sendMessage.getReplyToMessageId() + ". Но меня удалили " +
181+
"из чата. В общем, вот: " + sendMessage.getText();
182+
sendMessage.setChatId(task.getUserId());
183+
sendMessage.setReplyToMessageId(null);
184+
sendMessage.setText(newMessageToSend);
175185
} else {
176186
log.error("Can't send message", e);
177187
tgLogger.log(e);

0 commit comments

Comments
 (0)