diff --git a/pom.xml b/pom.xml index 9474dd4..fde4df9 100644 --- a/pom.xml +++ b/pom.xml @@ -23,9 +23,8 @@ - 0.6.3-SNAPSHOT - - 0.5.13-FORK + 0.6.6-SNAPSHOT + 1.0.6 @@ -34,11 +33,10 @@ sdk ${vksdk.ver} - org.sadtech.social - social-core - ${social.core.ver} + social-autoresponder + ${social.autoresponder.ver} org.springframework.data diff --git a/src/main/java/org/sadtech/vkbot/MessageAutoresponderVk.java b/src/main/java/org/sadtech/vkbot/MessageAutoresponderVk.java new file mode 100644 index 0000000..2292d7c --- /dev/null +++ b/src/main/java/org/sadtech/vkbot/MessageAutoresponderVk.java @@ -0,0 +1,18 @@ +package org.sadtech.vkbot; + +import org.sadtech.autoresponder.repository.UnitPointerRepository; +import org.sadtech.social.bot.GeneralAutoResponder; +import org.sadtech.social.bot.domain.unit.MainUnit; +import org.sadtech.social.core.domain.content.Mail; +import org.sadtech.social.core.service.MessageService; +import org.sadtech.social.core.service.sender.Sending; + +import java.util.Set; + +public class MessageAutoresponderVk extends GeneralAutoResponder { + + public MessageAutoresponderVk(Set menuUnit, Sending sending, MessageService messageService, UnitPointerRepository unitPointerRepository) { + super(menuUnit, sending, messageService, unitPointerRepository); + } + +} diff --git a/src/main/java/org/sadtech/vkbot/core/config/VkConfig.java b/src/main/java/org/sadtech/vkbot/core/config/VkConfig.java deleted file mode 100644 index bc2e6f5..0000000 --- a/src/main/java/org/sadtech/vkbot/core/config/VkConfig.java +++ /dev/null @@ -1,75 +0,0 @@ -package org.sadtech.vkbot.core.config; - -import org.sadtech.vkbot.core.exception.ConfigException; - -import java.util.Objects; -import java.util.Optional; - -public class VkConfig { - - private VkConfigGroup configGroup; - private VkConfigUser configUser; - private VkConfigService configService; - - public VkConfigGroup getConfigGroup() { - return Optional.ofNullable(configGroup) - .orElseThrow(() -> new ConfigException("Конфигурация сервиса для группы найдена")); - - } - - public VkConfigUser getConfigUser() { - return Optional.ofNullable(configUser) - .orElseThrow(() -> new ConfigException("Конфигурация для пользователя не найдена")); - - } - - public VkConfigService getConfigService() { - return Optional.ofNullable(configService) - .orElseThrow(() -> new ConfigException("Конфигурация сервиса не найдена")); - } - - public static Builder builder() { - return new VkConfig().new Builder(); - } - - public class Builder { - private Builder() { - - } - - public Builder configGroup(VkConfigGroup configGroup) { - VkConfig.this.configGroup = configGroup; - return this; - } - - public Builder configUser(VkConfigUser configUser) { - VkConfig.this.configUser = configUser; - return this; - } - - public Builder configService(VkConfigService configService) { - VkConfig.this.configService = configService; - return this; - } - - public VkConfig build() { - return VkConfig.this; - } - - } - - @Override - public boolean equals(Object o) { - if (this == o) return true; - if (!(o instanceof VkConfig)) return false; - VkConfig vkConfig = (VkConfig) o; - return Objects.equals(configGroup, vkConfig.configGroup) && - Objects.equals(configUser, vkConfig.configUser) && - Objects.equals(configService, vkConfig.configService); - } - - @Override - public int hashCode() { - return Objects.hash(configGroup, configUser, configService); - } -} diff --git a/src/main/java/org/sadtech/vkbot/core/config/VkConfigGroup.java b/src/main/java/org/sadtech/vkbot/core/config/VkConfigGroup.java deleted file mode 100644 index 1fa72f9..0000000 --- a/src/main/java/org/sadtech/vkbot/core/config/VkConfigGroup.java +++ /dev/null @@ -1,56 +0,0 @@ -package org.sadtech.vkbot.core.config; - -import java.util.Objects; - -public class VkConfigGroup { - - private String groupToken; - private Integer groupId; - - public String getGroupToken() { - return groupToken; - } - - public Integer getGroupId() { - return groupId; - } - - public static Builder builder() { - return new VkConfigGroup().new Builder(); - } - - public class Builder { - private Builder() { - - } - - public Builder groupId(Integer groupId) { - VkConfigGroup.this.groupId = groupId; - return this; - } - - public Builder groupToken(String groupToken) { - VkConfigGroup.this.groupToken = groupToken; - return this; - } - - public VkConfigGroup build() { - return VkConfigGroup.this; - } - - } - - @Override - public boolean equals(Object o) { - if (this == o) return true; - if (!(o instanceof VkConfigGroup)) return false; - VkConfigGroup that = (VkConfigGroup) o; - return Objects.equals(groupToken, that.groupToken) && - Objects.equals(groupId, that.groupId); - } - - @Override - public int hashCode() { - return Objects.hash(groupToken, groupId); - } -} diff --git a/src/main/java/org/sadtech/vkbot/core/config/VkConfigService.java b/src/main/java/org/sadtech/vkbot/core/config/VkConfigService.java deleted file mode 100644 index f8015cd..0000000 --- a/src/main/java/org/sadtech/vkbot/core/config/VkConfigService.java +++ /dev/null @@ -1,56 +0,0 @@ -package org.sadtech.vkbot.core.config; - -import java.util.Objects; - -public class VkConfigService { - - private String serviceToken; - private Integer appId; - - public String getServiceToken() { - return serviceToken; - } - - public Integer getAppId() { - return appId; - } - - public static Builder builder() { - return new VkConfigService().new Builder(); - } - - public class Builder { - private Builder() { - - } - - public Builder serviceToken(String serviceToken) { - VkConfigService.this.serviceToken = serviceToken; - return this; - } - - public Builder appId(Integer appId) { - VkConfigService.this.appId = appId; - return this; - } - - public VkConfigService build() { - return VkConfigService.this; - } - - } - - @Override - public boolean equals(Object o) { - if (this == o) return true; - if (!(o instanceof VkConfigService)) return false; - VkConfigService that = (VkConfigService) o; - return Objects.equals(serviceToken, that.serviceToken) && - Objects.equals(appId, that.appId); - } - - @Override - public int hashCode() { - return Objects.hash(serviceToken, appId); - } -} diff --git a/src/main/java/org/sadtech/vkbot/core/config/VkConfigUser.java b/src/main/java/org/sadtech/vkbot/core/config/VkConfigUser.java deleted file mode 100644 index e952dad..0000000 --- a/src/main/java/org/sadtech/vkbot/core/config/VkConfigUser.java +++ /dev/null @@ -1,61 +0,0 @@ -package org.sadtech.vkbot.core.config; - -import java.util.Objects; - -public class VkConfigUser { - - private Integer userId; - private String token; - - private VkConfigUser() { - - } - - public Integer getUserId() { - return userId; - } - - public String getToken() { - return token; - } - - public static Builder builder() { - return new VkConfigUser().new Builder(); - } - - public class Builder { - private Builder() { - - } - - public Builder userId(Integer userId) { - VkConfigUser.this.userId = userId; - return this; - } - - public Builder token(String token) { - VkConfigUser.this.token = token; - return this; - } - - public VkConfigUser build() { - return VkConfigUser.this; - } - - } - - - @Override - public boolean equals(Object o) { - if (this == o) return true; - if (!(o instanceof VkConfigUser)) return false; - VkConfigUser that = (VkConfigUser) o; - return Objects.equals(userId, that.userId) && - Objects.equals(token, that.token); - } - - @Override - public int hashCode() { - return Objects.hash(userId, token); - } -} diff --git a/src/main/java/org/sadtech/vkbot/core/config/VkConnect.java b/src/main/java/org/sadtech/vkbot/core/config/VkConnect.java deleted file mode 100644 index 3d32c51..0000000 --- a/src/main/java/org/sadtech/vkbot/core/config/VkConnect.java +++ /dev/null @@ -1,73 +0,0 @@ -package org.sadtech.vkbot.core.config; - -import com.vk.api.sdk.client.VkApiClient; -import com.vk.api.sdk.client.actors.GroupActor; -import com.vk.api.sdk.client.actors.ServiceActor; -import com.vk.api.sdk.client.actors.UserActor; -import com.vk.api.sdk.httpclient.HttpTransportClient; - -public class VkConnect { - - private final VkConfig vkConfig; - - private VkApiClient vkApiClient; - private GroupActor groupActor; - private ServiceActor serviceActor; - private UserActor userActor; - - public VkConnect(VkConfig vkConfig) { - this.vkConfig = vkConfig; - } - - public VkApiClient getVkApiClient() { - if (vkApiClient != null) { - return vkApiClient; - } else { - initVkApiClient(); - return vkApiClient; - } - } - - public GroupActor getGroupActor() { - if (groupActor != null) { - return groupActor; - } else { - initGroupActor(); - return groupActor; - } - } - - public UserActor getUserActor() { - if (userActor != null) { - return userActor; - } else { - initUserActor(); - return userActor; - } - } - - private void initUserActor() { - userActor = new UserActor(vkConfig.getConfigUser().getUserId(), vkConfig.getConfigUser().getToken()); - } - - public ServiceActor getServiceActor() { - if (serviceActor != null) { - return serviceActor; - } else { - initServiceActor(); - return serviceActor; - } - } - - private void initVkApiClient() { - vkApiClient = new VkApiClient(HttpTransportClient.getInstance()); - } - - private void initGroupActor() { - groupActor = new GroupActor(vkConfig.getConfigGroup().getGroupId(), vkConfig.getConfigGroup().getGroupToken()); - } - - private void initServiceActor() { - serviceActor = new ServiceActor(vkConfig.getConfigService().getAppId(), vkConfig.getConfigService().getServiceToken()); - } -} diff --git a/src/main/java/org/sadtech/vkbot/core/convert/Convert.java b/src/main/java/org/sadtech/vkbot/core/convert/Convert.java deleted file mode 100644 index 6b0c915..0000000 --- a/src/main/java/org/sadtech/vkbot/core/convert/Convert.java +++ /dev/null @@ -1,9 +0,0 @@ -package org.sadtech.vkbot.core.convert; - -@FunctionalInterface -public interface Convert { - - C converting(T target); - - -} diff --git a/src/main/java/org/sadtech/vkbot/core/convert/KeyBoardConvert.java b/src/main/java/org/sadtech/vkbot/core/convert/KeyBoardConvert.java index cc84173..2426fd0 100644 --- a/src/main/java/org/sadtech/vkbot/core/convert/KeyBoardConvert.java +++ b/src/main/java/org/sadtech/vkbot/core/convert/KeyBoardConvert.java @@ -11,7 +11,7 @@ import org.sadtech.social.core.domain.keyboard.KeyBoardButton; import org.sadtech.social.core.domain.keyboard.KeyBoardLine; import org.sadtech.social.core.domain.keyboard.button.KeyBoardButtonAccount; import org.sadtech.social.core.domain.keyboard.button.KeyBoardButtonText; -import org.sadtech.vkbot.core.config.VkConnect; +import org.sadtech.vkbot.config.VkConnect; import java.util.ArrayList; import java.util.List; diff --git a/src/main/java/org/sadtech/vkbot/core/convert/MessageMailConvert.java b/src/main/java/org/sadtech/vkbot/core/convert/MessageMailConvert.java index ef928a3..c5a1c2f 100644 --- a/src/main/java/org/sadtech/vkbot/core/convert/MessageMailConvert.java +++ b/src/main/java/org/sadtech/vkbot/core/convert/MessageMailConvert.java @@ -7,6 +7,7 @@ import org.sadtech.social.core.domain.content.Mail; import org.sadtech.social.core.domain.content.attachment.Attachment; import org.sadtech.social.core.domain.content.attachment.AudioMessage; import org.sadtech.social.core.domain.content.attachment.Geo; +import org.sadtech.vkbot.convert.Convert; import java.time.Instant; import java.time.LocalDateTime; @@ -21,8 +22,8 @@ public class MessageMailConvert implements Convert { Mail mail = new Mail(); mail.setText(message.getText()); mail.setCreateDate(LocalDateTime.ofInstant(Instant.ofEpochSecond(message.getDate()), TimeZone.getDefault().toZoneId())); - mail.setId(message.getId()); - mail.setPersonId(message.getPeerId()); + mail.setId(message.getId().longValue()); + mail.setPersonId(message.getPeerId().longValue()); List attachments = message.getAttachments(); if (attachments != null && !attachments.isEmpty()) { @@ -54,8 +55,8 @@ public class MessageMailConvert implements Convert { Mail mail = new Mail(); mail.setText(foreignMessage.getText()); mail.setCreateDate(LocalDateTime.ofInstant(Instant.ofEpochSecond(foreignMessage.getDate()), TimeZone.getDefault().toZoneId())); - mail.setId(foreignMessage.getId()); - mail.setPersonId(foreignMessage.getPeerId()); + mail.setId(foreignMessage.getId().longValue()); + mail.setPersonId(foreignMessage.getPeerId().longValue()); List attachments = foreignMessage.getAttachments(); if (attachments != null && !attachments.isEmpty()) { diff --git a/src/main/java/org/sadtech/vkbot/core/convert/TopicCommentToBoardComment.java b/src/main/java/org/sadtech/vkbot/core/convert/TopicCommentToBoardComment.java deleted file mode 100644 index a2cf364..0000000 --- a/src/main/java/org/sadtech/vkbot/core/convert/TopicCommentToBoardComment.java +++ /dev/null @@ -1,23 +0,0 @@ -package org.sadtech.vkbot.core.convert; - -import com.vk.api.sdk.objects.board.TopicComment; -import org.sadtech.social.core.domain.content.BoardComment; - -import java.time.Instant; -import java.time.LocalDateTime; -import java.util.TimeZone; - -public class TopicCommentToBoardComment implements Convert { - @Override - public BoardComment converting(TopicComment target) { - BoardComment boardComment = new BoardComment(); - boardComment.setContentId(target.getTopicId()); - boardComment.setCreateDate(LocalDateTime.ofInstant(Instant.ofEpochSecond(target.getDate()), TimeZone.getDefault().toZoneId())); - boardComment.setText(target.getText()); - boardComment.setPersonId(target.getFromId()); - - - System.out.println(target); - return boardComment; - } -} diff --git a/src/main/java/org/sadtech/vkbot/core/distribution/subscriber/AbstractBasketSubscribe.java b/src/main/java/org/sadtech/vkbot/core/distribution/subscriber/AbstractBasketSubscribe.java index 192c882..b17fe33 100644 --- a/src/main/java/org/sadtech/vkbot/core/distribution/subscriber/AbstractBasketSubscribe.java +++ b/src/main/java/org/sadtech/vkbot/core/distribution/subscriber/AbstractBasketSubscribe.java @@ -1,6 +1,6 @@ package org.sadtech.vkbot.core.distribution.subscriber; -import org.sadtech.vkbot.core.convert.Convert; +import org.sadtech.vkbot.convert.Convert; import java.util.Set; import java.util.concurrent.atomic.AtomicBoolean; diff --git a/src/main/java/org/sadtech/vkbot/core/distribution/subscriber/AccountSubscribe.java b/src/main/java/org/sadtech/vkbot/core/distribution/subscriber/AccountSubscribe.java index 53f6521..0743a5e 100644 --- a/src/main/java/org/sadtech/vkbot/core/distribution/subscriber/AccountSubscribe.java +++ b/src/main/java/org/sadtech/vkbot/core/distribution/subscriber/AccountSubscribe.java @@ -30,11 +30,11 @@ public class AccountSubscribe extends AbstractBasketSubscribe try { Integer valueSum = Integer.valueOf(message.getAttachments().get(0).getLink().getTitle().split(" ")[0]); if (accountService.pay(Integer.valueOf(message.getText()), message.getPeerId(), valueSum) && answerSuccessfulPayment != null) { - sending.send(message.getPeerId(), answerSuccessfulPayment); + sending.send(message.getPeerId().longValue(), answerSuccessfulPayment); } } catch (PaymentException e) { log.error(e.getMessage()); - sending.send(message.getPeerId(), BoxAnswer.builder().message(e.getDescription()).build()); + sending.send(message.getPeerId().longValue(), BoxAnswer.builder().message(e.getDescription()).build()); } } } diff --git a/src/main/java/org/sadtech/vkbot/core/distribution/subscriber/BoardCommentSubscribe.java b/src/main/java/org/sadtech/vkbot/core/distribution/subscriber/BoardCommentSubscribe.java deleted file mode 100644 index e358df6..0000000 --- a/src/main/java/org/sadtech/vkbot/core/distribution/subscriber/BoardCommentSubscribe.java +++ /dev/null @@ -1,96 +0,0 @@ -package org.sadtech.vkbot.core.distribution.subscriber; - -import com.google.gson.Gson; -import com.google.gson.JsonObject; -import com.vk.api.sdk.objects.board.TopicComment; -import org.sadtech.social.core.domain.content.BoardComment; -import org.sadtech.social.core.service.BoardCommentService; -import org.sadtech.vkbot.core.convert.Convert; -import org.sadtech.vkbot.core.convert.TopicCommentToBoardComment; - -import java.util.Set; -import java.util.regex.Matcher; -import java.util.regex.Pattern; - -public class BoardCommentSubscribe extends AbstractBasketSubscribe { - - private final BoardCommentService boardCommentService; - private final Convert topicConvert = new TopicCommentToBoardComment(); - private Set answerTopicsId; - private Set noAnswerPersonId; - private Boolean respondAppeal = true; - - public BoardCommentSubscribe(BoardCommentService boardCommentService) { - this.boardCommentService = boardCommentService; - this.convert = (object) -> { - Gson gson = new Gson(); - return gson.fromJson(object.getAsJsonObject("object"), TopicComment.class); - }; - } - - public Set getAnswerTopicsId() { - return answerTopicsId; - } - - public void setAnswerTopicsId(Set answerTopicsId) { - this.answerTopicsId = answerTopicsId; - } - - public Set getNoAnswerPersonId() { - return noAnswerPersonId; - } - - public void setNoAnswerPersonId(Set noAnswerPersonId) { - this.noAnswerPersonId = noAnswerPersonId; - } - - public Boolean getRespondAppeal() { - return respondAppeal; - } - - public void setRespondAppeal(Boolean respondAppeal) { - this.respondAppeal = respondAppeal; - } - - @Override - public boolean check(JsonObject object) { - String type = object.get("type").getAsString(); - return "board_post_new".equals(type); - } - - @Override - public void processing(TopicComment object) { - if (checkPerson(object.getFromId()) - && checkTopic(object.getTopicId()) - && checkRespondAppeal(object.getText(), object.getFromId())) { - boardCommentService.add(topicConvert.converting(object)); - } - } - - private boolean checkRespondAppeal(String message, Integer groupId) { - if (respondAppeal) { - Pattern pattern = Pattern.compile("\\[club" + groupId); - Matcher m = pattern.matcher(message); - return m.find(); - } else { - return true; - } - } - - private boolean checkTopic(Integer topicId) { - if (answerTopicsId == null) { - return true; - } else { - return answerTopicsId.contains(topicId); - } - } - - private boolean checkPerson(Integer personId) { - if (noAnswerPersonId == null) { - return true; - } else { - return !noAnswerPersonId.contains(personId); - } - } - -} diff --git a/src/main/java/org/sadtech/vkbot/core/distribution/subscriber/MailSubscriber.java b/src/main/java/org/sadtech/vkbot/core/distribution/subscriber/MailSubscriber.java index 3728ac6..62eab67 100644 --- a/src/main/java/org/sadtech/vkbot/core/distribution/subscriber/MailSubscriber.java +++ b/src/main/java/org/sadtech/vkbot/core/distribution/subscriber/MailSubscriber.java @@ -5,7 +5,7 @@ import com.google.gson.JsonObject; import com.vk.api.sdk.objects.messages.Message; import org.sadtech.social.core.domain.content.Mail; import org.sadtech.social.core.service.MailService; -import org.sadtech.vkbot.core.convert.Convert; +import org.sadtech.vkbot.convert.Convert; import org.sadtech.vkbot.core.convert.MessageMailConvert; public class MailSubscriber extends AbstractBasketSubscribe { diff --git a/src/main/java/org/sadtech/vkbot/core/exception/ConfigException.java b/src/main/java/org/sadtech/vkbot/core/exception/ConfigException.java deleted file mode 100644 index 31e47b0..0000000 --- a/src/main/java/org/sadtech/vkbot/core/exception/ConfigException.java +++ /dev/null @@ -1,8 +0,0 @@ -package org.sadtech.vkbot.core.exception; - -public class ConfigException extends RuntimeException { - - public ConfigException(String message) { - super(message); - } -} diff --git a/src/main/java/org/sadtech/vkbot/core/listener/EventListenerVk.java b/src/main/java/org/sadtech/vkbot/core/listener/EventListenerVk.java index 5499c96..58fa5ee 100644 --- a/src/main/java/org/sadtech/vkbot/core/listener/EventListenerVk.java +++ b/src/main/java/org/sadtech/vkbot/core/listener/EventListenerVk.java @@ -8,7 +8,7 @@ import com.vk.api.sdk.exceptions.LongPollServerKeyExpiredException; import com.vk.api.sdk.objects.callback.longpoll.responses.GetLongPollEventsResponse; import com.vk.api.sdk.objects.groups.LongPollServer; import lombok.extern.slf4j.Slf4j; -import org.sadtech.vkbot.core.config.VkConnect; +import org.sadtech.vkbot.config.VkConnect; import org.sadtech.vkbot.core.service.RawEventService; @Slf4j diff --git a/src/main/java/org/sadtech/vkbot/core/sender/BoardCommentSenderVk.java b/src/main/java/org/sadtech/vkbot/core/sender/BoardCommentSenderVk.java deleted file mode 100644 index 078450f..0000000 --- a/src/main/java/org/sadtech/vkbot/core/sender/BoardCommentSenderVk.java +++ /dev/null @@ -1,65 +0,0 @@ -package org.sadtech.vkbot.core.sender; - -import com.vk.api.sdk.client.VkApiClient; -import com.vk.api.sdk.client.actors.GroupActor; -import com.vk.api.sdk.client.actors.UserActor; -import com.vk.api.sdk.exceptions.ApiException; -import com.vk.api.sdk.exceptions.ClientException; -import org.sadtech.social.core.domain.BoxAnswer; -import org.sadtech.social.core.domain.keyboard.KeyBoardButton; -import org.sadtech.social.core.domain.keyboard.KeyBoardLine; -import org.sadtech.social.core.domain.keyboard.button.KeyBoardButtonText; -import org.sadtech.social.core.exception.MailSendException; -import org.sadtech.social.core.service.sender.SendType; -import org.sadtech.social.core.service.sender.Sending; -import org.sadtech.vkbot.core.config.VkConnect; -import org.sadtech.vkbot.core.utils.VkInsertData; - -public class BoardCommentSenderVk implements Sending { - - private final VkApiClient vkApiClient; - private final GroupActor groupActor; - private final UserActor userActor; - private final VkInsertData vkInsertData; - - public BoardCommentSenderVk(VkConnect vkConnect) { - this.vkApiClient = vkConnect.getVkApiClient(); - this.groupActor = vkConnect.getGroupActor(); - this.vkInsertData = new VkInsertData(vkConnect); - this.userActor = vkConnect.getUserActor(); - } - - @Override - public void send(Integer integer, BoxAnswer boxAnswer) { - throw new MailSendException(); - } - - @Override - public void send(Integer contentId, Integer personId, BoxAnswer boxAnswer) { - try { - StringBuilder insertAnswer = new StringBuilder(vkInsertData.insertWords(boxAnswer.getMessage(), personId)); - if (boxAnswer.getKeyBoard() != null) { - insertAnswer.append("\n\nМеню:\n"); - for (KeyBoardLine keyBoardLine : boxAnswer.getKeyBoard().getKeyBoardLines()) { - for (KeyBoardButton keyBoardButton : keyBoardLine.getKeyBoardButtons()) { - switch (keyBoardButton.getType()) { - case TEXT: - insertAnswer.append("- ").append(((KeyBoardButtonText) keyBoardButton).getLabel()).append("\n"); - } - - } - } - } - - vkApiClient.board().createComment(userActor, groupActor.getGroupId(), contentId) - .message(insertAnswer.toString()).fromGroup(true).execute(); - } catch (ApiException | ClientException e) { - e.printStackTrace(); - } - } - - @Override - public SendType getType() { - return SendType.PUBLIC; - } -} diff --git a/src/main/java/org/sadtech/vkbot/core/sender/MailSenderVk.java b/src/main/java/org/sadtech/vkbot/core/sender/MailSenderVk.java index cf975ab..1fff4d4 100644 --- a/src/main/java/org/sadtech/vkbot/core/sender/MailSenderVk.java +++ b/src/main/java/org/sadtech/vkbot/core/sender/MailSenderVk.java @@ -11,9 +11,9 @@ import org.sadtech.social.core.domain.BoxAnswer; import org.sadtech.social.core.domain.keyboard.KeyBoard; import org.sadtech.social.core.service.sender.SendType; import org.sadtech.social.core.service.sender.Sending; -import org.sadtech.vkbot.core.config.VkConnect; +import org.sadtech.vkbot.config.VkConnect; import org.sadtech.vkbot.core.convert.KeyBoardConvert; -import org.sadtech.vkbot.core.utils.VkInsertData; +import org.sadtech.vkbot.utils.VkInsertData; import java.util.Collections; import java.util.concurrent.ThreadLocalRandom; @@ -34,14 +34,14 @@ public class MailSenderVk implements Sending { } @Override - public void send(Integer personId, BoxAnswer boxAnswer) { - MessagesSendQuery messagesSendQuery = createMessage(boxAnswer, personId); + public void send(Long personId, BoxAnswer boxAnswer) { + MessagesSendQuery messagesSendQuery = createMessage(boxAnswer, personId.longValue()); sendMessage(messagesSendQuery); } - private MessagesSendQuery createMessage(BoxAnswer boxAnswer, Integer peerId) { - MessagesSendQuery messages = vkApiClient.messages().send(groupActor).peerId(peerId) - .message(vkInsertData.insertWords(boxAnswer.getMessage(), peerId)) + private MessagesSendQuery createMessage(BoxAnswer boxAnswer, Long peerId) { + MessagesSendQuery messages = vkApiClient.messages().send(groupActor).peerId(peerId.intValue()) + .message(vkInsertData.insertWords(boxAnswer.getMessage(), peerId.intValue())) .randomId(ThreadLocalRandom.current().nextInt(0, Integer.MAX_VALUE)); messages.keyboard(convertKeyBoard(boxAnswer.getKeyBoard())); @@ -50,7 +50,7 @@ public class MailSenderVk implements Sending { } if (boxAnswer.getStickerId() != null) { try { - vkApiClient.messages().send(groupActor).peerId(peerId).stickerId(boxAnswer.getStickerId()) + vkApiClient.messages().send(groupActor).peerId(peerId.intValue()).stickerId(boxAnswer.getStickerId()) .randomId(ThreadLocalRandom.current().nextInt(0, Integer.MAX_VALUE)).execute(); } catch (ApiException | ClientException e) { log.error(e.getMessage()); @@ -80,7 +80,7 @@ public class MailSenderVk implements Sending { } @Override - public void send(Integer integer, Integer integer1, BoxAnswer boxAnswer) { + public void send(Long integer, Long integer1, BoxAnswer boxAnswer) { } diff --git a/src/main/java/org/sadtech/vkbot/core/utils/VkApi.java b/src/main/java/org/sadtech/vkbot/core/utils/VkApi.java index 1549c90..6f44596 100644 --- a/src/main/java/org/sadtech/vkbot/core/utils/VkApi.java +++ b/src/main/java/org/sadtech/vkbot/core/utils/VkApi.java @@ -11,7 +11,7 @@ import com.vk.api.sdk.objects.users.Fields; import com.vk.api.sdk.objects.users.UserMin; import com.vk.api.sdk.objects.users.UserXtrCounters; import lombok.extern.slf4j.Slf4j; -import org.sadtech.vkbot.core.config.VkConnect; +import org.sadtech.vkbot.config.VkConnect; import java.util.List; diff --git a/src/main/java/org/sadtech/vkbot/core/utils/VkInsertData.java b/src/main/java/org/sadtech/vkbot/core/utils/VkInsertData.java deleted file mode 100644 index 0ae7c99..0000000 --- a/src/main/java/org/sadtech/vkbot/core/utils/VkInsertData.java +++ /dev/null @@ -1,42 +0,0 @@ -package org.sadtech.vkbot.core.utils; - -import org.sadtech.vkbot.core.config.VkConnect; - -import java.util.regex.Matcher; -import java.util.regex.Pattern; - -public class VkInsertData { - - private final VkApi vkApi; - - public VkInsertData(VkConnect vkConnect) { - this.vkApi = new VkApi(vkConnect); - } - - public String insertWords(String message, Integer personId) { - Pattern pattern = Pattern.compile("%(\\w+)%"); - Matcher m = pattern.matcher(message); - StringBuffer result = new StringBuffer(); - while (m.find()) { - m.appendReplacement(result, insert(m.group(0), personId)); - } - m.appendTail(result); - return result.toString(); - } - - private String insert(String key, Integer userId) { - String string = ""; - switch (key) { - case "%firstname%": - string = vkApi.getUserMini(userId).getFirstName(); - break; - case "%lastname%": - string = vkApi.getUserMini(userId).getLastName(); - break; - default: - break; - } - return string; - } - -}