Настойка телеграм бота
parent
ee8180dde4
commit
4eef99092a
12
pom.xml
12
pom.xml
|
@ -32,6 +32,18 @@
|
|||
<artifactId>spring-boot-starter-test</artifactId>
|
||||
<scope>test</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.springframework.boot</groupId>
|
||||
<artifactId>spring-boot-configuration-processor</artifactId>
|
||||
<optional>true</optional>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.telegram</groupId>
|
||||
<artifactId>telegrambots</artifactId>
|
||||
<version>6.7.0</version>
|
||||
</dependency>
|
||||
|
||||
|
||||
</dependencies>
|
||||
|
||||
<build>
|
||||
|
|
|
@ -0,0 +1,36 @@
|
|||
package ru.ldeloff.servermonitorbot;
|
||||
|
||||
import lombok.NoArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.boot.ApplicationArguments;
|
||||
import org.springframework.boot.ApplicationRunner;
|
||||
import org.springframework.stereotype.Component;
|
||||
import org.telegram.telegrambots.meta.TelegramBotsApi;
|
||||
import org.telegram.telegrambots.meta.exceptions.TelegramApiException;
|
||||
import org.telegram.telegrambots.updatesreceivers.DefaultBotSession;
|
||||
import ru.ldeloff.servermonitorbot.model.TelegramBot;
|
||||
|
||||
@Slf4j
|
||||
@Component
|
||||
@NoArgsConstructor
|
||||
public class StartBot implements ApplicationRunner {
|
||||
private TelegramBot telegramBot;
|
||||
|
||||
@Autowired
|
||||
public StartBot(TelegramBot telegramBot) {
|
||||
this.telegramBot = telegramBot;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void run(ApplicationArguments args) {
|
||||
try {
|
||||
TelegramBotsApi botsApi = new TelegramBotsApi(DefaultBotSession.class);
|
||||
botsApi.registerBot(telegramBot);
|
||||
log.info("Бот запущен");
|
||||
} catch (TelegramApiException e) {
|
||||
e.printStackTrace();
|
||||
log.error(e.getMessage());
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,47 @@
|
|||
package ru.ldeloff.servermonitorbot.model;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.NoArgsConstructor;
|
||||
import org.springframework.beans.factory.annotation.Value;
|
||||
import org.springframework.stereotype.Component;
|
||||
import org.telegram.telegrambots.bots.TelegramLongPollingBot;
|
||||
import org.telegram.telegrambots.meta.api.methods.send.SendMessage;
|
||||
import org.telegram.telegrambots.meta.api.objects.Update;
|
||||
import org.telegram.telegrambots.meta.exceptions.TelegramApiException;
|
||||
|
||||
@Component
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
public class TelegramBot extends TelegramLongPollingBot {
|
||||
@Value("${bot.name}")
|
||||
private String botUsername;
|
||||
|
||||
@Value("${bot.token}")
|
||||
private String botToken;
|
||||
|
||||
@Override
|
||||
public void onUpdateReceived(Update update) {
|
||||
// We check if the update has a message and the message has text
|
||||
if (update.hasMessage() && update.getMessage().hasText()) {
|
||||
SendMessage message = new SendMessage(); // Create a SendMessage object with mandatory fields
|
||||
message.setChatId(update.getMessage().getChatId().toString());
|
||||
message.setText(update.getMessage().getText());
|
||||
|
||||
try {
|
||||
execute(message); // Call method to send the message
|
||||
} catch (TelegramApiException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getBotUsername() {
|
||||
return botUsername;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getBotToken() {
|
||||
return botToken;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,5 @@
|
|||
bot:
|
||||
name: "ServerMonitorBot"
|
||||
token: "token"
|
||||
|
||||
|
Loading…
Reference in New Issue