Добавил возможность прикреплять и откреплять сообщения
All checks were successful
continuous-integration/drone/push Build is passing
All checks were successful
continuous-integration/drone/push Build is passing
This commit is contained in:
parent
13f4d8c368
commit
97122552e8
@ -8,4 +8,8 @@ public interface TelegramService {
|
|||||||
|
|
||||||
Uni<Void> executeAction(@NotNull String personId, ChatAction chatAction);
|
Uni<Void> executeAction(@NotNull String personId, ChatAction chatAction);
|
||||||
|
|
||||||
|
Uni<Void> pinMessage(@NotNull String personId, @NotNull String messageId);
|
||||||
|
|
||||||
|
Uni<Void> unPinMessage(@NotNull String personId, @NotNull String messageId);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -7,4 +7,8 @@ public interface TelegramService {
|
|||||||
|
|
||||||
void executeAction(@NotNull String personId, ChatAction chatAction);
|
void executeAction(@NotNull String personId, ChatAction chatAction);
|
||||||
|
|
||||||
|
void pinMessage(@NotNull String personId, @NotNull String messageId);
|
||||||
|
|
||||||
|
void unPinMessage(@NotNull String personId, @NotNull String messageId);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -8,12 +8,15 @@ import org.jetbrains.annotations.NotNull;
|
|||||||
import org.slf4j.Logger;
|
import org.slf4j.Logger;
|
||||||
import org.slf4j.LoggerFactory;
|
import org.slf4j.LoggerFactory;
|
||||||
import org.telegram.telegrambots.meta.api.methods.ActionType;
|
import org.telegram.telegrambots.meta.api.methods.ActionType;
|
||||||
|
import org.telegram.telegrambots.meta.api.methods.pinnedmessages.PinChatMessage;
|
||||||
|
import org.telegram.telegrambots.meta.api.methods.pinnedmessages.UnpinChatMessage;
|
||||||
import org.telegram.telegrambots.meta.api.methods.send.SendChatAction;
|
import org.telegram.telegrambots.meta.api.methods.send.SendChatAction;
|
||||||
import org.telegram.telegrambots.meta.bots.AbsSender;
|
import org.telegram.telegrambots.meta.bots.AbsSender;
|
||||||
import org.telegram.telegrambots.meta.exceptions.TelegramApiException;
|
import org.telegram.telegrambots.meta.exceptions.TelegramApiException;
|
||||||
import org.telegram.telegrambots.meta.exceptions.TelegramApiRequestException;
|
import org.telegram.telegrambots.meta.exceptions.TelegramApiRequestException;
|
||||||
|
|
||||||
import java.util.concurrent.CompletableFuture;
|
import java.util.concurrent.CompletableFuture;
|
||||||
|
import java.util.concurrent.CompletionStage;
|
||||||
|
|
||||||
public class TelegramServiceImpl implements TelegramService {
|
public class TelegramServiceImpl implements TelegramService {
|
||||||
|
|
||||||
@ -35,6 +38,48 @@ public class TelegramServiceImpl implements TelegramService {
|
|||||||
.replaceWithVoid();
|
.replaceWithVoid();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Uni<Void> pinMessage(@NotNull String personId, @NotNull String messageId) {
|
||||||
|
final PinChatMessage pinChatMessage = new PinChatMessage();
|
||||||
|
pinChatMessage.setChatId(personId);
|
||||||
|
pinChatMessage.setMessageId(Integer.parseInt(messageId));
|
||||||
|
|
||||||
|
return Uni.createFrom().completionStage(getExecuteAsync(pinChatMessage))
|
||||||
|
.replaceWithVoid();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Uni<Void> unPinMessage(@NotNull String personId, @NotNull String messageId) {
|
||||||
|
final UnpinChatMessage unpinChatMessage = new UnpinChatMessage();
|
||||||
|
unpinChatMessage.setChatId(personId);
|
||||||
|
unpinChatMessage.setMessageId(Integer.parseInt(messageId));
|
||||||
|
|
||||||
|
return Uni.createFrom().completionStage(getExecuteAsync(unpinChatMessage))
|
||||||
|
.replaceWithVoid();
|
||||||
|
}
|
||||||
|
|
||||||
|
private CompletableFuture<Boolean> getExecuteAsync(UnpinChatMessage unpinChatMessage) {
|
||||||
|
try {
|
||||||
|
return absSender.executeAsync(unpinChatMessage);
|
||||||
|
} catch (TelegramApiRequestException e) {
|
||||||
|
log.error(e.getApiResponse());
|
||||||
|
} catch (TelegramApiException e) {
|
||||||
|
log.error(e.getMessage());
|
||||||
|
}
|
||||||
|
return CompletableFuture.completedFuture(null);
|
||||||
|
}
|
||||||
|
|
||||||
|
private CompletionStage<Boolean> getExecuteAsync(PinChatMessage pinChatMessage) {
|
||||||
|
try {
|
||||||
|
return absSender.executeAsync(pinChatMessage);
|
||||||
|
} catch (TelegramApiRequestException e) {
|
||||||
|
log.error(e.getApiResponse());
|
||||||
|
} catch (TelegramApiException e) {
|
||||||
|
log.error(e.getMessage());
|
||||||
|
}
|
||||||
|
return CompletableFuture.completedFuture(null);
|
||||||
|
}
|
||||||
|
|
||||||
private CompletableFuture<Boolean> getExecuteAsync(SendChatAction sendChatAction) {
|
private CompletableFuture<Boolean> getExecuteAsync(SendChatAction sendChatAction) {
|
||||||
try {
|
try {
|
||||||
return absSender.executeAsync(sendChatAction);
|
return absSender.executeAsync(sendChatAction);
|
||||||
|
@ -7,6 +7,8 @@ import org.jetbrains.annotations.NotNull;
|
|||||||
import org.slf4j.Logger;
|
import org.slf4j.Logger;
|
||||||
import org.slf4j.LoggerFactory;
|
import org.slf4j.LoggerFactory;
|
||||||
import org.telegram.telegrambots.meta.api.methods.ActionType;
|
import org.telegram.telegrambots.meta.api.methods.ActionType;
|
||||||
|
import org.telegram.telegrambots.meta.api.methods.pinnedmessages.PinChatMessage;
|
||||||
|
import org.telegram.telegrambots.meta.api.methods.pinnedmessages.UnpinChatMessage;
|
||||||
import org.telegram.telegrambots.meta.api.methods.send.SendChatAction;
|
import org.telegram.telegrambots.meta.api.methods.send.SendChatAction;
|
||||||
import org.telegram.telegrambots.meta.bots.AbsSender;
|
import org.telegram.telegrambots.meta.bots.AbsSender;
|
||||||
import org.telegram.telegrambots.meta.exceptions.TelegramApiException;
|
import org.telegram.telegrambots.meta.exceptions.TelegramApiException;
|
||||||
@ -36,4 +38,32 @@ public class TelegramServiceImpl implements TelegramService {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void pinMessage(@NotNull String personId, @NotNull String messageId) {
|
||||||
|
final PinChatMessage pinChatMessage = new PinChatMessage();
|
||||||
|
pinChatMessage.setChatId(personId);
|
||||||
|
pinChatMessage.setMessageId(Integer.parseInt(messageId));
|
||||||
|
try {
|
||||||
|
absSender.execute(pinChatMessage);
|
||||||
|
} catch (TelegramApiRequestException e) {
|
||||||
|
log.error(e.getApiResponse());
|
||||||
|
} catch (TelegramApiException e) {
|
||||||
|
log.error(e.getMessage());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void unPinMessage(@NotNull String personId, @NotNull String messageId) {
|
||||||
|
final UnpinChatMessage unpinChatMessage = new UnpinChatMessage();
|
||||||
|
unpinChatMessage.setChatId(personId);
|
||||||
|
unpinChatMessage.setMessageId(Integer.parseInt(messageId));
|
||||||
|
try {
|
||||||
|
absSender.execute(unpinChatMessage);
|
||||||
|
} catch (TelegramApiRequestException e) {
|
||||||
|
log.error(e.getApiResponse());
|
||||||
|
} catch (TelegramApiException e) {
|
||||||
|
log.error(e.getMessage());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user