An open API service indexing awesome lists of open source software.

https://github.com/plastinin-igor/notification-bot

Telegram bot - Notifications about important events
https://github.com/plastinin-igor/notification-bot

bot docker java lombok maven spring spring-boot telegram telegrambot

Last synced: 3 months ago
JSON representation

Telegram bot - Notifications about important events

Awesome Lists containing this project

README

          

# Телеграм бот "Помню всё" ⏳💬

Уведомления о важных датах и событиях, будь то дни рождения близких или еженедельные занятия спортом.

---

## 📖 Описание

### Бот умеет:

Рассылать напоминание двух типов:

- По расписанию: выберите конкретные дни недели и точное время, когда хотите получать уведомление.
- Ежегодные события: установите напоминание на определённую дату каждый год, которое придёт ровно в 10 часов
утра.

## Команды

- Начало работы 🚀 /start
- Справка 🔍 /help
- Список всех уведомлений 📝 /list
- Список напоминаний 🔔 /event
- Список дней рождений 🗓 /day

## 🚀 Установка и запуск

1. Клонировать репозиторий:

```
git clone git@github.com:Plastinin-Igor/notification-bot.git
cd notification-bot
```

2. Настроить application.properties:

```
bot.token= # токен вашего телеграм-бота
bot.username= # имя пользователя - владельца телеграм бота
```
3. Создать список пользователей src/main/resources/userlist.json

```
[
{
"userId": 12345, //chatId
"userName": "UserLogin",
"fullName": "Иванов Иван"
}
]
```

4. Создать список событий по расписанию src/main/resources/events.json

```
[
{
"timeNotify": "17:00:00",
"dayOfWeekNotify": "TUESDAY",
"nameNotify": "Английский язык",
"textNotify": "Через 15 минут начнется урок английского языка.",
"users": [
12345 //chatId
]
},
{
"dateNotify": "2025-10-16",
"timeNotify": "20:15:00",
"dayOfWeekNotify": "FRIDAY",
"nameNotify": "Тренировка",
"textNotify": "Через 15 минут пора начинать тренировку.",
"users": [
12345 //chatId
]
}
]
```
5. Создать список ежегодных событий src/main/resources/birthdays.json

```
[
{
"dateNotify": "0001-01-01",
"timeNotify": "10:00:00",
"nameNotify": "С Новым Годом",
"textNotify": "С Новым годом🎄✨🎁",
"users": [
12345
]
},
{
"dateNotify": "1985-01-03",
"timeNotify": "10:00:00",
"nameNotify": "День рождения у Насти",
"textNotify": "Сегодня день рождения у Насти 🍰🎉. Не забудь поздравить 🥂✨",
"users": [
12345
]
}
]
```

6. Собрать проект:
```
mvn clean install -DskipTests
```

7. Создать образ на основе файла Dockerfile:
```
docker build -t notification-image .
```

8. Создать и запустить контейнер в фоновом режиме:

```
docker run -d --restart=always --name notification-bot notification-image
```