Большой рефакторинг
This commit is contained in:
parent
2f756579b9
commit
f849c6d620
8
pom.xml
8
pom.xml
@ -33,13 +33,13 @@
|
|||||||
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
|
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
|
||||||
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
|
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
|
||||||
|
|
||||||
<godfather.core.ver>0.0.4-SNAPSHOT</godfather.core.ver>
|
<godfather.core.ver>0.0.4</godfather.core.ver>
|
||||||
<telegrambots.ver>6.0.1</telegrambots.ver>
|
<telegrambots.ver>6.0.1</telegrambots.ver>
|
||||||
|
|
||||||
<plugin.maven.compiler.ver>3.9.0</plugin.maven.compiler.ver>
|
<plugin.maven.compiler.ver>3.10.1</plugin.maven.compiler.ver>
|
||||||
<plugin.nexus.staging.ver>1.6.12</plugin.nexus.staging.ver>
|
<plugin.nexus.staging.ver>1.6.13</plugin.nexus.staging.ver>
|
||||||
<plugin.maven.source.ver>3.2.1</plugin.maven.source.ver>
|
<plugin.maven.source.ver>3.2.1</plugin.maven.source.ver>
|
||||||
<plugin.maven.javadoc.ver>3.3.2</plugin.maven.javadoc.ver>
|
<plugin.maven.javadoc.ver>3.4.0</plugin.maven.javadoc.ver>
|
||||||
<plugin.maven.gpg.ver>3.0.1</plugin.maven.gpg.ver>
|
<plugin.maven.gpg.ver>3.0.1</plugin.maven.gpg.ver>
|
||||||
</properties>
|
</properties>
|
||||||
|
|
||||||
|
@ -1,21 +1,10 @@
|
|||||||
package dev.struchkov.godfather.telegram;
|
package dev.struchkov.godfather.telegram;
|
||||||
|
|
||||||
import lombok.AllArgsConstructor;
|
|
||||||
import lombok.Builder;
|
|
||||||
import lombok.Getter;
|
|
||||||
import lombok.NoArgsConstructor;
|
|
||||||
import lombok.Setter;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* TODO: Добавить описание класса.
|
* TODO: Добавить описание класса.
|
||||||
*
|
*
|
||||||
* @author upagge [30.01.2020]
|
* @author upagge [30.01.2020]
|
||||||
*/
|
*/
|
||||||
@Builder
|
|
||||||
@Setter
|
|
||||||
@Getter
|
|
||||||
@NoArgsConstructor
|
|
||||||
@AllArgsConstructor
|
|
||||||
public class ProxyConfig {
|
public class ProxyConfig {
|
||||||
|
|
||||||
private String host;
|
private String host;
|
||||||
@ -24,8 +13,47 @@ public class ProxyConfig {
|
|||||||
private String password;
|
private String password;
|
||||||
private Type type;
|
private Type type;
|
||||||
|
|
||||||
|
public String getHost() {
|
||||||
|
return host;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setHost(String host) {
|
||||||
|
this.host = host;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Integer getPort() {
|
||||||
|
return port;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setPort(Integer port) {
|
||||||
|
this.port = port;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getUser() {
|
||||||
|
return user;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setUser(String user) {
|
||||||
|
this.user = user;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getPassword() {
|
||||||
|
return password;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setPassword(String password) {
|
||||||
|
this.password = password;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Type getType() {
|
||||||
|
return type;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setType(Type type) {
|
||||||
|
this.type = type;
|
||||||
|
}
|
||||||
|
|
||||||
public enum Type {
|
public enum Type {
|
||||||
SOCKS5, SOCKS4, HTTP
|
SOCKS5, SOCKS4, HTTP
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
package dev.struchkov.godfather.telegram;
|
package dev.struchkov.godfather.telegram;
|
||||||
|
|
||||||
import lombok.NonNull;
|
|
||||||
import dev.struchkov.godfather.telegram.listen.EventDistributorImpl;
|
import dev.struchkov.godfather.telegram.listen.EventDistributorImpl;
|
||||||
|
import org.jetbrains.annotations.NotNull;
|
||||||
import org.telegram.telegrambots.meta.bots.AbsSender;
|
import org.telegram.telegrambots.meta.bots.AbsSender;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -13,6 +13,6 @@ public interface TelegramBot {
|
|||||||
|
|
||||||
AbsSender getAdsSender();
|
AbsSender getAdsSender();
|
||||||
|
|
||||||
void initEventDistributor(@NonNull EventDistributorImpl eventDistributor);
|
void initEventDistributor(@NotNull EventDistributorImpl eventDistributor);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -1,9 +1,9 @@
|
|||||||
package dev.struchkov.godfather.telegram;
|
package dev.struchkov.godfather.telegram;
|
||||||
|
|
||||||
import lombok.NonNull;
|
|
||||||
import dev.struchkov.godfather.telegram.listen.EventDistributorImpl;
|
|
||||||
import dev.struchkov.godfather.telegram.config.TelegramPollingConfig;
|
import dev.struchkov.godfather.telegram.config.TelegramPollingConfig;
|
||||||
import dev.struchkov.godfather.telegram.listen.EventDistributor;
|
import dev.struchkov.godfather.telegram.listen.EventDistributor;
|
||||||
|
import dev.struchkov.godfather.telegram.listen.EventDistributorImpl;
|
||||||
|
import org.jetbrains.annotations.NotNull;
|
||||||
import org.telegram.telegrambots.bots.DefaultBotOptions;
|
import org.telegram.telegrambots.bots.DefaultBotOptions;
|
||||||
import org.telegram.telegrambots.bots.TelegramLongPollingBot;
|
import org.telegram.telegrambots.bots.TelegramLongPollingBot;
|
||||||
import org.telegram.telegrambots.meta.api.objects.Update;
|
import org.telegram.telegrambots.meta.api.objects.Update;
|
||||||
@ -53,7 +53,7 @@ public class TelegramPollingBot extends TelegramLongPollingBot implements Telegr
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void initEventDistributor(@NonNull EventDistributorImpl eventDistributor) {
|
public void initEventDistributor(@NotNull EventDistributorImpl eventDistributor) {
|
||||||
this.eventDistributor = eventDistributor;
|
this.eventDistributor = eventDistributor;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1,11 +1,11 @@
|
|||||||
package dev.struchkov.godfather.telegram.autoresponder;
|
package dev.struchkov.godfather.telegram.autoresponder;
|
||||||
|
|
||||||
|
import dev.struchkov.autoresponder.repository.UnitPointerRepository;
|
||||||
import dev.struchkov.godfather.context.domain.content.Mail;
|
import dev.struchkov.godfather.context.domain.content.Mail;
|
||||||
import dev.struchkov.godfather.context.service.MessageService;
|
import dev.struchkov.godfather.context.service.MessageService;
|
||||||
import dev.struchkov.godfather.context.service.sender.Sending;
|
import dev.struchkov.godfather.context.service.sender.Sending;
|
||||||
import dev.struchkov.godfather.core.GeneralAutoResponder;
|
import dev.struchkov.godfather.core.GeneralAutoResponder;
|
||||||
import dev.struchkov.godfather.core.domain.unit.MainUnit;
|
import dev.struchkov.godfather.core.domain.unit.MainUnit;
|
||||||
import org.sadtech.autoresponder.repository.UnitPointerRepository;
|
|
||||||
|
|
||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
|
|
||||||
@ -19,7 +19,7 @@ public class MessageAutoresponderTelegram extends GeneralAutoResponder<Mail> {
|
|||||||
public MessageAutoresponderTelegram(
|
public MessageAutoresponderTelegram(
|
||||||
Set<MainUnit> menuUnit, Sending sending,
|
Set<MainUnit> menuUnit, Sending sending,
|
||||||
MessageService<Mail> messageService,
|
MessageService<Mail> messageService,
|
||||||
UnitPointerRepository unitPointerRepository
|
UnitPointerRepository<MainUnit> unitPointerRepository
|
||||||
) {
|
) {
|
||||||
super(menuUnit, sending, messageService, unitPointerRepository);
|
super(menuUnit, sending, messageService, unitPointerRepository);
|
||||||
}
|
}
|
||||||
|
@ -1,29 +1,38 @@
|
|||||||
package dev.struchkov.godfather.telegram.config;
|
package dev.struchkov.godfather.telegram.config;
|
||||||
|
|
||||||
import dev.struchkov.godfather.telegram.ProxyConfig;
|
import dev.struchkov.godfather.telegram.ProxyConfig;
|
||||||
import lombok.AllArgsConstructor;
|
|
||||||
import lombok.Builder;
|
|
||||||
import lombok.Data;
|
|
||||||
import lombok.NoArgsConstructor;
|
|
||||||
import lombok.NonNull;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* TODO: Добавить описание класса.
|
* TODO: Добавить описание класса.
|
||||||
*
|
*
|
||||||
* @author upagge [18.08.2019]
|
* @author upagge [18.08.2019]
|
||||||
*/
|
*/
|
||||||
@Data
|
|
||||||
@Builder
|
|
||||||
@NoArgsConstructor
|
|
||||||
@AllArgsConstructor
|
|
||||||
public class TelegramPollingConfig {
|
public class TelegramPollingConfig {
|
||||||
|
|
||||||
@NonNull
|
private final String botUsername;
|
||||||
private String botUsername;
|
private final String botToken;
|
||||||
|
|
||||||
@NonNull
|
private ProxyConfig proxyConfig;
|
||||||
private String botToken;
|
|
||||||
|
|
||||||
private ProxyConfig proxyConfig = new ProxyConfig();
|
public TelegramPollingConfig(String botUsername, String botToken) {
|
||||||
|
this.botUsername = botUsername;
|
||||||
|
this.botToken = botToken;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getBotUsername() {
|
||||||
|
return botUsername;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getBotToken() {
|
||||||
|
return botToken;
|
||||||
|
}
|
||||||
|
|
||||||
|
public ProxyConfig getProxyConfig() {
|
||||||
|
return proxyConfig;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setProxyConfig(ProxyConfig proxyConfig) {
|
||||||
|
this.proxyConfig = proxyConfig;
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -1,26 +0,0 @@
|
|||||||
package dev.struchkov.godfather.telegram.config;
|
|
||||||
|
|
||||||
import lombok.AllArgsConstructor;
|
|
||||||
import lombok.Builder;
|
|
||||||
import lombok.Data;
|
|
||||||
import lombok.NoArgsConstructor;
|
|
||||||
import lombok.NonNull;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* TODO: Добавить описание класса.
|
|
||||||
*
|
|
||||||
* @author upagge [12.02.2020]
|
|
||||||
*/
|
|
||||||
@Data
|
|
||||||
@Builder
|
|
||||||
@NoArgsConstructor
|
|
||||||
@AllArgsConstructor
|
|
||||||
public class TelegramWebHookConfig {
|
|
||||||
|
|
||||||
@NonNull
|
|
||||||
private String botUsername;
|
|
||||||
|
|
||||||
@NonNull
|
|
||||||
private String botToken;
|
|
||||||
|
|
||||||
}
|
|
@ -3,8 +3,6 @@ package dev.struchkov.godfather.telegram.convert;
|
|||||||
import dev.struchkov.godfather.context.domain.content.Mail;
|
import dev.struchkov.godfather.context.domain.content.Mail;
|
||||||
import dev.struchkov.godfather.context.domain.content.attachment.Attachment;
|
import dev.struchkov.godfather.context.domain.content.attachment.Attachment;
|
||||||
import dev.struchkov.godfather.context.domain.content.attachment.Link;
|
import dev.struchkov.godfather.context.domain.content.attachment.Link;
|
||||||
import lombok.AccessLevel;
|
|
||||||
import lombok.RequiredArgsConstructor;
|
|
||||||
import org.telegram.telegrambots.meta.api.objects.Message;
|
import org.telegram.telegrambots.meta.api.objects.Message;
|
||||||
import org.telegram.telegrambots.meta.api.objects.MessageEntity;
|
import org.telegram.telegrambots.meta.api.objects.MessageEntity;
|
||||||
|
|
||||||
@ -15,23 +13,28 @@ import java.util.ArrayList;
|
|||||||
import java.util.Collections;
|
import java.util.Collections;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
|
import static dev.struchkov.haiti.utils.Exceptions.utilityClass;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* TODO: Добавить описание класса.
|
* TODO: Добавить описание класса.
|
||||||
*
|
*
|
||||||
* @author upagge [18.08.2019]
|
* @author upagge [18.08.2019]
|
||||||
*/
|
*/
|
||||||
@RequiredArgsConstructor(access = AccessLevel.PRIVATE)
|
public final class MessageMailConvert {
|
||||||
public class MessageMailConvert {
|
|
||||||
|
public MessageMailConvert() {
|
||||||
|
utilityClass();
|
||||||
|
}
|
||||||
|
|
||||||
public static Mail apply(Message message) {
|
public static Mail apply(Message message) {
|
||||||
Mail mail = new Mail();
|
final Mail mail = new Mail();
|
||||||
mail.setPersonId(message.getChatId());
|
mail.setPersonId(message.getChatId());
|
||||||
mail.setAddDate(LocalDateTime.now());
|
mail.setAddDate(LocalDateTime.now());
|
||||||
mail.setText(message.getText());
|
mail.setText(message.getText());
|
||||||
mail.setCreateDate(LocalDateTime.ofInstant(Instant.ofEpochSecond(message.getDate()), ZoneId.systemDefault()));
|
mail.setCreateDate(LocalDateTime.ofInstant(Instant.ofEpochSecond(message.getDate()), ZoneId.systemDefault()));
|
||||||
mail.setFirstName(message.getChat().getFirstName());
|
mail.setFirstName(message.getChat().getFirstName());
|
||||||
mail.setLastName(message.getChat().getLastName());
|
mail.setLastName(message.getChat().getLastName());
|
||||||
List<MessageEntity> entities = message.getEntities();
|
final List<MessageEntity> entities = message.getEntities();
|
||||||
if (entities != null) {
|
if (entities != null) {
|
||||||
mail.setAttachments(convertAttachments(entities));
|
mail.setAttachments(convertAttachments(entities));
|
||||||
}
|
}
|
||||||
@ -44,7 +47,7 @@ public class MessageMailConvert {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private static List<Attachment> convertAttachments(List<MessageEntity> entities) {
|
private static List<Attachment> convertAttachments(List<MessageEntity> entities) {
|
||||||
final List<Attachment> attachments = new ArrayList();
|
final List<Attachment> attachments = new ArrayList<>();
|
||||||
for (MessageEntity entity : entities) {
|
for (MessageEntity entity : entities) {
|
||||||
String type = entity.getType();
|
String type = entity.getType();
|
||||||
if ("text_link".equals(type)) {
|
if ("text_link".equals(type)) {
|
||||||
|
@ -2,22 +2,50 @@ package dev.struchkov.godfather.telegram.domain.keyboard;
|
|||||||
|
|
||||||
import dev.struchkov.godfather.context.domain.keyboard.KeyBoardLine;
|
import dev.struchkov.godfather.context.domain.keyboard.KeyBoardLine;
|
||||||
import dev.struchkov.godfather.context.domain.keyboard.simple.SimpleKeyBoard;
|
import dev.struchkov.godfather.context.domain.keyboard.simple.SimpleKeyBoard;
|
||||||
import lombok.Builder;
|
|
||||||
import lombok.Singular;
|
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
public class InlineKeyBoard extends SimpleKeyBoard {
|
public class InlineKeyBoard extends SimpleKeyBoard {
|
||||||
|
|
||||||
public static final String TYPE = "INLINE";
|
public static final String TYPE = "INLINE";
|
||||||
|
|
||||||
@Builder
|
public InlineKeyBoard(List<KeyBoardLine> lines) {
|
||||||
public InlineKeyBoard(@Singular("line") List<KeyBoardLine> lines) {
|
|
||||||
super(lines);
|
super(lines);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private InlineKeyBoard(Builder builder) {
|
||||||
|
super(builder.lines);
|
||||||
|
}
|
||||||
|
|
||||||
|
public static Builder builder() {
|
||||||
|
return new Builder();
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String getType() {
|
public String getType() {
|
||||||
return TYPE;
|
return TYPE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static final class Builder {
|
||||||
|
private List<KeyBoardLine> lines = new ArrayList<>();
|
||||||
|
|
||||||
|
private Builder() {
|
||||||
|
}
|
||||||
|
|
||||||
|
public Builder lines(List<KeyBoardLine> val) {
|
||||||
|
lines = val;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Builder line(KeyBoardLine val) {
|
||||||
|
lines.add(val);
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public InlineKeyBoard build() {
|
||||||
|
return new InlineKeyBoard(this);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -2,13 +2,10 @@ package dev.struchkov.godfather.telegram.domain.keyboard;
|
|||||||
|
|
||||||
import dev.struchkov.godfather.context.domain.keyboard.KeyBoardLine;
|
import dev.struchkov.godfather.context.domain.keyboard.KeyBoardLine;
|
||||||
import dev.struchkov.godfather.context.domain.keyboard.simple.SimpleKeyBoard;
|
import dev.struchkov.godfather.context.domain.keyboard.simple.SimpleKeyBoard;
|
||||||
import lombok.Builder;
|
|
||||||
import lombok.Getter;
|
|
||||||
import lombok.Singular;
|
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
@Getter
|
|
||||||
public class MarkupKeyBoard extends SimpleKeyBoard {
|
public class MarkupKeyBoard extends SimpleKeyBoard {
|
||||||
|
|
||||||
public static final String TYPE = "MARKUP";
|
public static final String TYPE = "MARKUP";
|
||||||
@ -25,17 +22,23 @@ public class MarkupKeyBoard extends SimpleKeyBoard {
|
|||||||
|
|
||||||
private String inputFieldPlaceholder;
|
private String inputFieldPlaceholder;
|
||||||
|
|
||||||
@Builder
|
private MarkupKeyBoard(Builder builder) {
|
||||||
protected MarkupKeyBoard(
|
super(builder.lines);
|
||||||
@Singular(value = "line") List<KeyBoardLine> keyBoardLines,
|
oneTime = builder.oneTime;
|
||||||
boolean oneTime,
|
resizeKeyboard = builder.resizeKeyboard;
|
||||||
boolean resizeKeyboard,
|
inputFieldPlaceholder = builder.inputFieldPlaceholder;
|
||||||
String inputFieldPlaceholder
|
}
|
||||||
) {
|
|
||||||
super(keyBoardLines);
|
public static Builder newBuilder() {
|
||||||
this.oneTime = oneTime;
|
return new Builder();
|
||||||
this.resizeKeyboard = resizeKeyboard;
|
}
|
||||||
this.inputFieldPlaceholder = inputFieldPlaceholder;
|
|
||||||
|
public boolean isResizeKeyboard() {
|
||||||
|
return resizeKeyboard;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getInputFieldPlaceholder() {
|
||||||
|
return inputFieldPlaceholder;
|
||||||
}
|
}
|
||||||
|
|
||||||
public boolean isOneTime() {
|
public boolean isOneTime() {
|
||||||
@ -47,4 +50,42 @@ public class MarkupKeyBoard extends SimpleKeyBoard {
|
|||||||
return TYPE;
|
return TYPE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static final class Builder {
|
||||||
|
private List<KeyBoardLine> lines = new ArrayList<>();
|
||||||
|
private boolean oneTime = true;
|
||||||
|
private boolean resizeKeyboard;
|
||||||
|
private String inputFieldPlaceholder;
|
||||||
|
|
||||||
|
private Builder() {
|
||||||
|
}
|
||||||
|
|
||||||
|
public Builder lines(List<KeyBoardLine> val) {
|
||||||
|
lines = val;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Builder line(KeyBoardLine val) {
|
||||||
|
lines.add(val);
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Builder oneTime(boolean val) {
|
||||||
|
oneTime = val;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Builder resizeKeyboard(boolean val) {
|
||||||
|
resizeKeyboard = val;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Builder inputFieldPlaceholder(String val) {
|
||||||
|
inputFieldPlaceholder = val;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public MarkupKeyBoard build() {
|
||||||
|
return new MarkupKeyBoard(this);
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -1,11 +1,7 @@
|
|||||||
package dev.struchkov.godfather.telegram.domain.keyboard.button;
|
package dev.struchkov.godfather.telegram.domain.keyboard.button;
|
||||||
|
|
||||||
import dev.struchkov.godfather.context.domain.keyboard.KeyBoardButton;
|
import dev.struchkov.godfather.context.domain.keyboard.KeyBoardButton;
|
||||||
import lombok.Builder;
|
|
||||||
import lombok.Getter;
|
|
||||||
|
|
||||||
@Getter
|
|
||||||
@Builder
|
|
||||||
public class ButtonUrl implements KeyBoardButton {
|
public class ButtonUrl implements KeyBoardButton {
|
||||||
|
|
||||||
public static final String TYPE = "URL";
|
public static final String TYPE = "URL";
|
||||||
@ -13,9 +9,25 @@ public class ButtonUrl implements KeyBoardButton {
|
|||||||
private String label;
|
private String label;
|
||||||
private String url;
|
private String url;
|
||||||
|
|
||||||
|
public ButtonUrl(String label, String url) {
|
||||||
|
this.label = label;
|
||||||
|
this.url = url;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static ButtonUrl link(String label, String url) {
|
||||||
|
return new ButtonUrl(label, url);
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String getType() {
|
public String getType() {
|
||||||
return TYPE;
|
return TYPE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public String getLabel() {
|
||||||
|
return label;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getUrl() {
|
||||||
|
return url;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -1,11 +1,11 @@
|
|||||||
package dev.struchkov.godfather.telegram.listen;
|
package dev.struchkov.godfather.telegram.listen;
|
||||||
|
|
||||||
import lombok.NonNull;
|
import org.jetbrains.annotations.NotNull;
|
||||||
import org.telegram.telegrambots.meta.api.objects.Update;
|
import org.telegram.telegrambots.meta.api.objects.Update;
|
||||||
|
|
||||||
public interface EventDistributor {
|
public interface EventDistributor {
|
||||||
|
|
||||||
void processing(@NonNull Update update);
|
void processing(@NotNull Update update);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1,9 +1,9 @@
|
|||||||
package dev.struchkov.godfather.telegram.listen;
|
package dev.struchkov.godfather.telegram.listen;
|
||||||
|
|
||||||
import dev.struchkov.godfather.context.service.MailService;
|
import dev.struchkov.godfather.context.service.MailService;
|
||||||
import lombok.NonNull;
|
|
||||||
import dev.struchkov.godfather.telegram.convert.CallbackQueryConvert;
|
import dev.struchkov.godfather.telegram.convert.CallbackQueryConvert;
|
||||||
import dev.struchkov.godfather.telegram.convert.MessageMailConvert;
|
import dev.struchkov.godfather.telegram.convert.MessageMailConvert;
|
||||||
|
import org.jetbrains.annotations.NotNull;
|
||||||
import org.telegram.telegrambots.meta.api.objects.CallbackQuery;
|
import org.telegram.telegrambots.meta.api.objects.CallbackQuery;
|
||||||
import org.telegram.telegrambots.meta.api.objects.Message;
|
import org.telegram.telegrambots.meta.api.objects.Message;
|
||||||
import org.telegram.telegrambots.meta.api.objects.Update;
|
import org.telegram.telegrambots.meta.api.objects.Update;
|
||||||
@ -23,7 +23,7 @@ public class EventDistributorImpl implements EventDistributor {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void processing(@NonNull Update update) {
|
public void processing(@NotNull Update update) {
|
||||||
final Message message = update.getMessage();
|
final Message message = update.getMessage();
|
||||||
final CallbackQuery callbackQuery = update.getCallbackQuery();
|
final CallbackQuery callbackQuery = update.getCallbackQuery();
|
||||||
if (message != null) {
|
if (message != null) {
|
||||||
|
@ -4,7 +4,8 @@ import dev.struchkov.godfather.telegram.ProxyConfig;
|
|||||||
import dev.struchkov.godfather.telegram.TelegramBot;
|
import dev.struchkov.godfather.telegram.TelegramBot;
|
||||||
import dev.struchkov.godfather.telegram.TelegramPollingBot;
|
import dev.struchkov.godfather.telegram.TelegramPollingBot;
|
||||||
import dev.struchkov.godfather.telegram.config.TelegramPollingConfig;
|
import dev.struchkov.godfather.telegram.config.TelegramPollingConfig;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import org.slf4j.Logger;
|
||||||
|
import org.slf4j.LoggerFactory;
|
||||||
import org.telegram.telegrambots.bots.DefaultBotOptions;
|
import org.telegram.telegrambots.bots.DefaultBotOptions;
|
||||||
import org.telegram.telegrambots.meta.TelegramBotsApi;
|
import org.telegram.telegrambots.meta.TelegramBotsApi;
|
||||||
import org.telegram.telegrambots.meta.bots.AbsSender;
|
import org.telegram.telegrambots.meta.bots.AbsSender;
|
||||||
@ -19,9 +20,10 @@ import java.net.PasswordAuthentication;
|
|||||||
*
|
*
|
||||||
* @author upagge [30.01.2020]
|
* @author upagge [30.01.2020]
|
||||||
*/
|
*/
|
||||||
@Slf4j
|
|
||||||
public class TelegramConnect {
|
public class TelegramConnect {
|
||||||
|
|
||||||
|
private static final Logger log = LoggerFactory.getLogger(TelegramConnect.class);
|
||||||
|
|
||||||
private TelegramBot telegramBot;
|
private TelegramBot telegramBot;
|
||||||
|
|
||||||
public TelegramConnect(TelegramPollingConfig telegramPollingConfig) {
|
public TelegramConnect(TelegramPollingConfig telegramPollingConfig) {
|
||||||
|
@ -12,8 +12,8 @@ import dev.struchkov.godfather.telegram.domain.keyboard.InlineKeyBoard;
|
|||||||
import dev.struchkov.godfather.telegram.domain.keyboard.MarkupKeyBoard;
|
import dev.struchkov.godfather.telegram.domain.keyboard.MarkupKeyBoard;
|
||||||
import dev.struchkov.godfather.telegram.domain.keyboard.button.ButtonUrl;
|
import dev.struchkov.godfather.telegram.domain.keyboard.button.ButtonUrl;
|
||||||
import dev.struchkov.godfather.telegram.service.SendPreProcessing;
|
import dev.struchkov.godfather.telegram.service.SendPreProcessing;
|
||||||
import lombok.Setter;
|
import org.slf4j.Logger;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import org.slf4j.LoggerFactory;
|
||||||
import org.telegram.telegrambots.meta.api.methods.send.SendMessage;
|
import org.telegram.telegrambots.meta.api.methods.send.SendMessage;
|
||||||
import org.telegram.telegrambots.meta.api.methods.updatingmessages.EditMessageText;
|
import org.telegram.telegrambots.meta.api.methods.updatingmessages.EditMessageText;
|
||||||
import org.telegram.telegrambots.meta.api.objects.Message;
|
import org.telegram.telegrambots.meta.api.objects.Message;
|
||||||
@ -36,18 +36,23 @@ import java.util.Map;
|
|||||||
*
|
*
|
||||||
* @author upagge [15/07/2019]
|
* @author upagge [15/07/2019]
|
||||||
*/
|
*/
|
||||||
@Slf4j
|
|
||||||
public class TelegramSender implements Sending {
|
public class TelegramSender implements Sending {
|
||||||
|
|
||||||
|
private static final Logger log = LoggerFactory.getLogger(TelegramSender.class);
|
||||||
|
|
||||||
private final AbsSender absSender;
|
private final AbsSender absSender;
|
||||||
private Map<Long, Integer> map = new HashMap<>();
|
private Map<Long, Integer> map = new HashMap<>();
|
||||||
@Setter
|
|
||||||
private SendPreProcessing sendPreProcessing;
|
private SendPreProcessing sendPreProcessing;
|
||||||
|
|
||||||
public TelegramSender(TelegramConnect telegramConnect) {
|
public TelegramSender(TelegramConnect telegramConnect) {
|
||||||
this.absSender = telegramConnect.getAdsSender();
|
this.absSender = telegramConnect.getAdsSender();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void setSendPreProcessing(SendPreProcessing sendPreProcessing) {
|
||||||
|
this.sendPreProcessing = sendPreProcessing;
|
||||||
|
}
|
||||||
|
|
||||||
public void send(Long telegramId, BoxAnswer boxAnswer) {
|
public void send(Long telegramId, BoxAnswer boxAnswer) {
|
||||||
try {
|
try {
|
||||||
if (boxAnswer.isReplace() && map.containsKey(telegramId)) {
|
if (boxAnswer.isReplace() && map.containsKey(telegramId)) {
|
||||||
@ -90,7 +95,7 @@ public class TelegramSender implements Sending {
|
|||||||
return convertSimpleKeyBoard((SimpleKeyBoard) keyBoard);
|
return convertSimpleKeyBoard((SimpleKeyBoard) keyBoard);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
throw new RuntimeException("Ошибка преобразования клавиаутры");
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
private ReplyKeyboard convertSimpleKeyBoard(SimpleKeyBoard keyBoard) {
|
private ReplyKeyboard convertSimpleKeyBoard(SimpleKeyBoard keyBoard) {
|
||||||
|
Loading…
Reference in New Issue
Block a user