Настойка телеграм бота

pull/1/head
L_DelOff 2023-08-05 17:21:44 +03:00
parent ee8180dde4
commit 4eef99092a
4 changed files with 100 additions and 0 deletions

12
pom.xml
View File

@ -32,6 +32,18 @@
<artifactId>spring-boot-starter-test</artifactId> <artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope> <scope>test</scope>
</dependency> </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> </dependencies>
<build> <build>

View File

@ -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());
}
}
}

View File

@ -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;
}
}

View File

@ -0,0 +1,5 @@
bot:
name: "ServerMonitorBot"
token: "token"